gpt4 book ai didi

php - 使用 PHP ping 数千个网站的最快方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:04:04 24 4
gpt4 key购买 nike

我目前正在使用 CURL + PHP ping URL。但是在我的脚本中,发送了一个请求,然后等待响应到来,然后是另一个请求,...如果每个响应需要大约 3 秒,为了 ping 10k 链接需要 8 个多小时!

有没有办法一次发送多个请求,比如某种多线程?

谢谢。

最佳答案

使用 curl 中可用的 curl_multi_* 函数。参见 http://www.php.net/manual/en/ref.curl.php

您必须将 URL 分组为较小的集合:一次添加所有 10k 个链接不太可能奏效。因此,围绕以下代码创建一个循环,并在 $urls 变量中使用 URLS 的子集(例如 100)。

$all = array();
$handle = curl_multi_init();
foreach ($urls as $url) {
$all[$url] = curl_init();
// Set curl options for $all[$url]
curl_multi_add_handle($handle, $all[$url]);
}
$running = 0;
do {
curl_multi_exec($handle, $running;);
} while ($running > 0);
foreach ($all as $url => $curl) {
$content = curl_multi_getcontent($curl);
// do something with $content
curl_multi_remove_handle($handle, $curl);
}
curl_multi_close($handle);

关于php - 使用 PHP ping 数千个网站的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4402129/

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