Php 文件内容增加了一个额外的amp;
你好,我正在定位一些城市, 将api直接用于我的浏览器,我得到了xmlPhp 文件内容增加了一个额外的amp;,php,curl,geolocation,file-get-contents,Php,Curl,Geolocation,File Get Contents,你好,我正在定位一些城市, 将api直接用于我的浏览器,我得到了xml https://maps.googleapis.com/maps/api/geocode/xml?language=el&components=administrative_area:ΔΗΜΟΣ ΑΓΙΟΥ ΝΙΚΟΛΑΟΥ|country:GR 但当我试图用php解析它时: $area="ΔΗΜΟΣ ΑΓΙΟΥ ΝΙΚΟΛΑΟΥ"; $map_url='https://maps.googleapis.com/ma
https://maps.googleapis.com/maps/api/geocode/xml?language=el&components=administrative_area:ΔΗΜΟΣ ΑΓΙΟΥ ΝΙΚΟΛΑΟΥ|country:GR
但当我试图用php解析它时:
$area="ΔΗΜΟΣ ΑΓΙΟΥ ΝΙΚΟΛΑΟΥ";
$map_url='https://maps.googleapis.com/maps/api/geocode/xml?language=el&components=administrative_area:'.$area.'|country:GR';
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,$map_url);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Proclamations Parser');
curl_setopt($curl_handle, CURLOPT_ENCODING ,"");
$query = curl_exec($curl_handle);
curl_close($curl_handle);
//$response_xml_data = file_get_contents($map_url);
//$data=simplexml_load_string($response_xml_data);
//var_dump($data);
当我使用文件获取内容时,我得到:
Warning: file_get_contents(https://maps.googleapis.com/maps/api/geocode/xml?language=el&components=administrative_area:ΔΗΜΟΣ AΓΙΟΥ ΝΙΚΟΛΑΟΥ |country:GR):
failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request
我注意到url发生了变化:language=el&代码>有一个额外的&
,它在文件获取内容之前不存在。
我尝试了卷曲的方法,但结果是一个空值
我使用了urlencode()
函数,没有任何更改。
我有什么问题吗?
这个“amp;”从何而来?试着在$map\u url
中用urlencode($area)
替换$area
。Curl仍然不起作用,file\u get\u contents不会抛出错误,但返回错误的数据。返回国家/地区的位置,而不是管理区域文件\u get\u contents()
不添加amp代码>到我这端的URL(PHP5.5)。还可以尝试添加$map\u url=htmlspecialchars\u decode($map\u url)
并查看它是否工作。它再次返回错误的结果尝试在$map\u url
中用urlencode($area)
替换$area
。Curl仍然不工作,file\u get\u contents不会抛出错误,但返回错误的数据。返回国家/地区的位置,而不是管理区域文件\u get\u contents()
不添加amp代码>到我这端的URL(PHP5.5)。还可以尝试添加$map\u url=htmlspecialchars\u decode($map\u url)代码>并查看它是否有效。它再次返回错误的结果