PHP卷曲不良请求400 – mapquest地理编码

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP卷曲不良请求400 – mapquest地理编码脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我的网址是:

http://www.mapquestapi.COM/geocoding/v1/batch?key=dNBvDLtTx85L3akdg8vboHQXrWpDJSei&location=HEbrON,KY,US&location=CINCINNATI,US&location=BEDFORD PARK,IL,US&location=HODGKINS,US&location=BALDWIN PARK,CA,US&location=,US

它很长但应该符合https://www.mapquestapi.com/geocoding/

当我运行以下PHP代码时,神秘面纱展开:

$ch = curl_init();

curl_setopt($ch,CURLOPT_VERBOSE,true);
curl_setopt($ch,CURLOPT_URL,$urlForgeocode);
curl_setopt($ch,CURLOPT_HTTPGET,1);
curl_setopt($ch,CURLOPT_RETURNtransfer,CURLOPT_FRESH_CONNECT,TRUE);


$return = curl_exec ($ch);
curl_close ($ch);
echo( $return);


$output = shell_exec('curl ' . $urlForGeocode);
echo( $output);

变量$urlEncode保存上面url的值.第一个输出是:

<htML><body><b>Http/1.1 Bad Request</b></body> </html>

第二个请求的输出是:

{
    "info": {
        "statuscode": 400,"copyright": {
            "text": "\u00A9 2016 mapquest,Inc.","imageUrl": "http://api.mqcdn.com/res/mqlogo.gif","imageAltText": "\u00A9 2016 mapquest,Inc."
        },"messages": ["no 'json' parameter found"]
    },"options": {
        "maxResults": -1,"thumbMaps": true,"ignoreLatLnginput": false
    },"results": [{
        "PRovidedLocation": {},"locations": []
    }]
}

这两个不同的cURL请求基本上返回相同的东西.当我从本地机器上的终端运行cURL时,也会返回400.

如果我把URL放在我的浏览器中,我并没有失望,它返回我正在寻找的200状态代码的数据.

浏览器获取请求和cURL之间有什么不同?

解决方法

像@Matt忍者和@chiliNut建议的那样,我需要看看这两个请求之间的区别.

唯一的区别是空间.我尝试运行urlencode()PHP函数以及rawurlencode()PHP函数,但都没有影响结果.

这就是我现在使用的而不是url编码:

$urlForGeocodeURLencoded = str_replace(' ','%20',$urlForGeocode);

PHP卷曲不良请求400 – mapquest地理编码

脚本宝典总结

以上是脚本宝典为你收集整理的PHP卷曲不良请求400 – mapquest地理编码全部内容,希望文章能够帮你解决PHP卷曲不良请求400 – mapquest地理编码所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。