gpt4 book ai didi

php - 通过 PHP 获取远程 XML 文件的一部分的最有效方法是什么?

转载 作者:可可西里 更新时间:2023-10-31 23:05:15 25 4
gpt4 key购买 nike

我正在尝试获取远程 XML 文件的一部分,在本例中是通过 Google map 获取邮政编码的经度和纬度。这是我目前正在使用的功能:

function slug_get_coordinates( $zip ) {
$url = "http://maps.googleapis.com/maps/api/geocode/xml?address={$zip}&sensor=false";
$result = simplexml_load_file( $url );
$coordinates = $result->result->geometry->location;
return $coordinates;
}

这有时会在长时间加载页面后起作用,但通常会超时。有没有一种方法可以直接访问我需要的 XML 文件部分,而无需加载整个文件或其他优化方法?

最佳答案

除非服务提供此功能,否则您不能请求基于选择器(例如 XPath/CSS)的部分响应。

关于效率,我建议尽可能详细地分解请求时间,找出为什么某个请求需要一段时间。 cURL 对此有很好的支持,例如:

$zip = urlencode('1 infinite loop');
$ch = curl_init("http://maps.googleapis.com/maps/api/geocode/xml?address={$zip}&sensor=false");
curl_exec($ch);
print_r(curl_getinfo($ch));

这会产生一个包含您请求的所有元数据的数组:

Array
(
...
[total_time] => 0.11955
[namelookup_time] => 0.02996
[connect_time] => 0.035803
[pretransfer_time] => 0.035874
...
[size_upload] => 0
[size_download] => 1737
[speed_download] => 14529
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => 0
[starttransfer_time] => 0.119444
[redirect_time] => 0
...
)

利用这些数据,您可以制定适当的方法来处理问题。缓存响应可能会减少经常重复搜索的请求时间,但它可能不适用于您的特定情况。

关于php - 通过 PHP 获取远程 XML 文件的一部分的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24708591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com