在 php 中使用 simplexml_load_file 代理问题!

发布于 2024-10-28 18:06:00 字数 1101 浏览 2 评论 0原文

有人可以帮我解决这个问题吗? 我需要在 php 中知道地址的纬度和经度。

我在做:

$address = urlencode('我的地址');

$lat_lng = simplexml_load_file("http://maps.google.com/maps/api/geocode /xml?address={$address}&sensor=false");

但我收到这个警告:

消息:simplexml_load_file() [function.simplexml-加载文件]: php_network_getaddresses:获取地址信息 失败:名义上暂时失败 分辨率

我需要配置代理,所以我以这种方式更改:

$address = urlencode('我的地址');

$ch = curl_init("http://maps.google.com/maps/api/geocode /xml?address={$address}&sensor=false");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_PROXY, '我的代理);

curl_setopt($ch, CURLOPT_PROXYPORT, '我的+端口');

$lat_lng = simplexml_load_string(curl_exec($ch));

curl_close($ch);

当我调用curl_exec时,它似乎被阻止了。

could somebody help me with this issue?
I need to know in php latitude and longitude from an address.

I was doing:

$address = urlencode('my address');

$lat_lng =
simplexml_load_file("http://maps.google.com/maps/api/geocode/xml?address={$address}&sensor=false");

but I got this warning:

Message: simplexml_load_file()
[function.simplexml-load-file]:
php_network_getaddresses: getaddrinfo
failed: Temporary failure in name
resolution

I think I need to configure the proxy so I changed in this way:

$address = urlencode('my address');

$ch =
curl_init("http://maps.google.com/maps/api/geocode/xml?address={$address}&sensor=false");

curl_setopt($ch,
CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_PROXY,
'my_proxy);

curl_setopt($ch, CURLOPT_PROXYPORT,
'my+port');

$lat_lng =
simplexml_load_string(curl_exec($ch));

curl_close($ch);

It seems to be blocked when I call curl_exec.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

早乙女 2024-11-04 18:06:00

首先尝试不使用代理设置,这可能是代理配置错误。

function curl($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_close ($ch);
    return curl_exec($ch);
}

$address = urlencode($address);
$data = curl("http://maps.google.com/maps/api/geocode/xml?address=$address&sensor=false"); 
$lat_lng = simplexml_load_string($data);

Try w/o proxy settings first, it is probably error in proxy configuration.

function curl($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_close ($ch);
    return curl_exec($ch);
}

$address = urlencode($address);
$data = curl("http://maps.google.com/maps/api/geocode/xml?address=$address&sensor=false"); 
$lat_lng = simplexml_load_string($data);
慵挽 2024-11-04 18:06:00

检查您的代码

curl_close ($ch); 

应该是函数内的最后一行

Check your code

curl_close ($ch); 

should be the last line inside the function

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文