linux curl 多线程,CURL多线程不执行一直在请求
代碼如下
`
ini_set('max_execution_time',0);
for($i = 6055;$i >3055;$i--){
$connomains[] = 'http://www.xxxxx.com/index.php&id='.$i;
}
$mh = curl_multi_init();
foreach ($connomains as $i => $url) {
$conn[$i]=curl_init($url);
curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER,1);
curl_multi_add_handle ($mh,$conn[$i]);
}
$active = null;
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($mh) != -1) {
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
foreach ($connomains as $i => $url) {
$res[$i]=curl_multi_getcontent($conn[$i]);
$res[$i] = json_decode($res[$i],true);
var_dump($res[$i]);
curl_close($conn[$i]);
}
print_r($res);
?>
`
頁面源地址是http://www.4wei.cn/archives/1001877
回復內容:
代碼如下
`
ini_set('max_execution_time',0);
for($i = 6055;$i >3055;$i--){
$connomains[] = 'http://www.xxxxx.com/index.php&id='.$i;
}
$mh = curl_multi_init();
foreach ($connomains as $i => $url) {
$conn[$i]=curl_init($url);
curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER,1);
curl_multi_add_handle ($mh,$conn[$i]);
}
$active = null;
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($mh) != -1) {
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
foreach ($connomains as $i => $url) {
$res[$i]=curl_multi_getcontent($conn[$i]);
$res[$i] = json_decode($res[$i],true);
var_dump($res[$i]);
curl_close($conn[$i]);
}
print_r($res);
?>
`
頁面源地址是http://www.4wei.cn/archives/1001877
代碼的意思是請求3000次后在執行輸出,把次數改小點看看
本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴
本文系統來源:php中文網
總結
以上是生活随笔為你收集整理的linux curl 多线程,CURL多线程不执行一直在请求的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存颗粒停产,供应链大洗牌
- 下一篇: linux设置docker自动启动,Ce