gpt4 book ai didi

php - curl_exec 不返回数据

转载 作者:可可西里 更新时间:2023-11-01 14:05:11 24 4
gpt4 key购买 nike

出于某种原因,当我遍历某些 url 时,下面的代码 curl_exec 永远不会返回任何内容。我已经验证了它获取的 url 是正确的。我已经手动检查它们以查看是否有输出。我试过删除 CURLOPT_RETURNTRANSFER,curl_exec 会返回 true。我不确定为什么 curl_exec 没有返回我需要的数据。

function _curl_get($urls)
{
$html_str = '';
foreach ($urls as $url)
{
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL, $url);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
$html_str .= curl_exec($curl_handle);
curl_close($curl_handle);
}

return $html_str;
}

最佳答案

检查错误:

$data = curl_exec($curl_handle);
if ($data === FALSE) {
die(curl_error($curl_handle));
} else {
$html_str .= $data;
}

永远不要假设依赖于外部资源的操作会成功。只有一种方法可以让事情顺利进行,而实际上有成百上千种方法会出错。假设发生 1:100 或 1:1000 的机会是一个糟糕的方法。

稍微提高效率,无需重复实例化/关闭 curl 对象。您可以将它重复用于多个网址。特别是因为它们都是以相同的方式获取的。在循环外创建一个 curl 句柄,在循环内重复使用它(每次都设置 url),然后在循环结束后关闭它。

关于php - curl_exec 不返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8410106/

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