【问题标题】:Get data from PHP Web service从 PHP Web 服务获取数据
【发布时间】:2015-12-27 00:42:49
【问题描述】:

我对网络服务有点陌生。我按照本教程构建了一个 Web 服务:http://davidwalsh.name/web-service-php-mysql-xml-json

但是,当我尝试使用某些参数调用 Web 服务时,例如

http://example.com/web-service.php?user=2&num=10 

它将转到该页面并显示结果。我需要的是在不去现场的情况下获得结果。我知道这可以通过使用 Ajax 来实现,但我需要知道有没有其他方法可以实现这一点?由于标题正在使用

header('Content-type: application/json');

不去网络服务页面就不能获取数据吗?

【问题讨论】:

    标签: php web-services get


    【解决方案1】:

    我假设你的意思是“进入网络服务页面”是在你的浏览器中? @bardiir 指出您可以使用任何 http 客户端来获取这些数据。

    在 PHP 中,你可以简单地做一个

    $json = file_get_contents("http://mydomain.com/web-service.php?user=2&num=10"); // this will require php.ini to be setup to allow fopen over URLs
    $data = json_decode($json);
    var_dump($data)
    

    您可以将 Web 服务信息作为一个数组进行解析和操作。

    如果你能进一步说明你想要完成什么,我可以提供更多帮助。

    【讨论】:

    • 感谢这非常接近我的要求。谢谢大哥,我会用这个
    【解决方案2】:

    您也可以使用 wget 或 curl 下载数据。这始终取决于您尝试通过使用数据来完成什么。

    【讨论】:

    • 谢谢,但是你能告诉我webservice方法中headers的用途吗?他们使用两种标题内容类型,header('Content-type: application/json');和 header('Content-type: text/xml');
    【解决方案3】:
    <?php
      include 'Connection.php'; 
      include 'class.phpmailer.php';
      include 'class.smtp.php';
      $entityBody = file_get_contents("php://input");
      $data=json_decode($entityBody, TRUE);
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-30
      • 2018-04-24
      • 2017-04-11
      • 1970-01-01
      • 2012-04-20
      • 2019-11-14
      • 1970-01-01
      相关资源
      最近更新 更多