我正在尝试使用curl编写请求。我想得到两点之间的距离。因此,我从数据库中获取这些点的数据以构建字符串。当我回显最终字符串时,它看起来像这样。
http://maps.googleapis.com/maps/api/distancematrix/json?origins=40215+Düsseldorf+Königsallee 59&destinations=40215+Düsseldorf&sensor=false
我也用https而不是http尝试了,但是结果是一样的。
如您所见,它返回了一个非常好的JSON-Response,但是当我随后执行此操作时,总是会收到错误消息。
public function request($signedUrl) {
$ch = curl_init($signedUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
$this->response = json_decode($data);
}
这$signedUrl
是requestUrl。
我从Google收到的错误消息var_dump($data)
是
400. That’s an error.
Your client has issued a malformed or illegal request. That’s all we know. "
当我var_dump响应时,它只是给我null。
这里可能是什么问题,我该如何解决?我也尝试阅读它,file_get_contents
但没有成功
作品[已测试]。由于网址未编码,因此您收到了错误的请求。
<?php
$urlx='http://maps.googleapis.com/maps/api/distancematrix/json?origins=40215+D%C3%BCsseldor%20%E2%80%8Bf+K%C3%B6nigsallee59&destinations=40215+D%C3%BCsseldorf&sensor=false';
$ch = curl_init($urlx);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
var_dump(($data));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句