总线时间表-API wmata-PHP
我正在尝试(为了学习目的)从华盛顿大都会区的API获取特定的实时公交车预测;及 公共汽车站ID:3001954 Api密钥:这是一个可用于演示的演示Api密钥:e13626d03d8e4c03ac07f95541b3091b来源: 我试图使用他们的PHP JSON示例代码,但什么都没有发生。我错过了什么?有什么建议吗?非常感谢您的帮助总线时间表-API wmata-PHP,php,api,Php,Api,我正在尝试(为了学习目的)从华盛顿大都会区的API获取特定的实时公交车预测;及 公共汽车站ID:3001954 Api密钥:这是一个可用于演示的演示Api密钥:e13626d03d8e4c03ac07f95541b3091b来源: 我试图使用他们的PHP JSON示例代码,但什么都没有发生。我错过了什么?有什么建议吗?非常感谢您的帮助 <?php // This sample uses the Apache HTTP client from HTTP Components (http://
<?php
// This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
require_once 'HTTP/Request2.php';
$request = new Http_Request2('https://api.wmata.com/NextBusService.svc/json/jPredictions');
$url = $request->getUrl();
$headers = array(
// Request headers
'api_key' => 'e13626d03d8e4c03ac07f95541b3091b',
);
$request->setHeader($headers);
$parameters = array(
// Request parameters
'StopID' => '3001954',
);
$url->setQueryVariables($parameters);
$request->setMethod(HTTP_Request2::METHOD_GET);
// Request body
$request->setBody("{body}");
try
{
$response = $request->send();
echo $response->getBody();
}
catch (HttpException $ex)
{
echo $ex;
}
?>
也许我错过了什么<代码>$request->setBody({body}”)代码>查看日志,我发现了问题:
[Mon Oct 14 20:16:25.256582 2019] [php7:warn] [pid 1072] [client 10.0.0.25:64171] PHP Warning: require_once(HTTP/Request2.php): failed to open stream: No such file or directory in /var/www/html/bus.php on line 3
因此,我安装了:
sudo apt-get update
sudo apt-get install php-http-request2
现在它工作了看起来你根本不应该在这里发送任何请求主体;这是一个简单的GET请求,它传输查询字符串中所有必要的参数。谢谢@04FS,所以您认为这段代码应该不错。如果是,为什么它不在屏幕上显示任何内容?谢谢不要只看代码就告诉你,你需要做一些调试。首先,确保通过PHP配置启用了正确的PHP错误报告,如果还没有启用的话。非常感谢@04FS,这超出了我的舒适范围:-)我只是想看看公交车时刻表,但我在PHP和编码方面不是很好。我问这个问题的原因是因为之前我在另一个网站气象网站上做了一个API,它工作得非常完美。您知道如何启用PHP调试吗?