PHP卷曲不良请求400 – mapquest地理编码
发布时间:2020-12-13 16:05:14 所属栏目:PHP教程 来源:网络整理
导读:我的网址是: http://www.mapquestapi.com/geocoding/v1/batch?key=dNBvDLtTx85L3akdg8vBoHQXrWpDJSEIlocation=HEBRON,KY,USlocation=CINCINNATI,USlocation=BEDFORD PARK,IL,USlocation=HODGKINS,USlocation=BALDWIN PARK,CA,USlocation=,US 它很长但应该符
我的网址是:
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); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |