php多線程和java多線程,php curl 多線程

 2023-10-25 阅读 188 评论 0

摘要:$offmh = curl_multi_init(); //開啟curl多線程 foreach ($offer as $i => $url) {$conn[$i] = curl_init($url); //開啟curlcurl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, true);// 執行后不直接打印出來curl_setopt($conn[$i], CURLOPT_POST, true); //設
$offmh = curl_multi_init();   //開啟curl多線程
foreach ($offer as $i => $url) {$conn[$i] = curl_init($url);  //開啟curlcurl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, true);// 執行后不直接打印出來curl_setopt($conn[$i], CURLOPT_POST, true); //設置請求方式為postcurl_setopt($conn[$i], CURLOPT_POSTFIELDS,$post_data);//post的變量curl_setopt($conn[$i], CURLOPT_HEADER ,false); // 請求頭,可以傳數組curl_setopt($conn[$i], CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"); //在HTTP請求中包含一個”user-agent”頭的字符串。 curl_setopt($conn[$i], CURLOPT_SSL_VERIFYPEER, false);	// 跳過證書檢查curl_setopt($conn[$i], CURLOPT_SSL_VERIFYHOST, false);	// 不從證書中檢查SSL加密算法是否存在curl_setopt($conn[$i], CURLOPT_CONNECTTIMEOUT,10); 	//標識如果服務器10秒內沒有響應,腳本就會斷開連接;curl_multi_add_handle ($offmh,$conn[$i]); //創建n個cURL句柄,把它們加到批處理句柄,然后并行地運行它們。
}  
// 執行批處理句柄
$active = null;
do{$mrc = curl_multi_exec($offmh,$active);//當無數據,active=true
} while ($mrc == CURLM_CALL_MULTI_PERFORM);//當正在接受數據時
while ($active && $mrc == CURLM_OK) {//當無數據時或請求暫停時,active=truedo{$mrc = curl_multi_exec($offmh, $active);}while($mrc == CURLM_CALL_MULTI_PERFORM);
}		
foreach ($offer as $k => $url) {$dooffer = curl_multi_getcontent($conn[$k]);//獲得返回信息//處理數據curl_close($conn[$k]);//關閉語柄curl_multi_remove_handle($offmh, $conn[$k]);//釋放資源  
}
curl_multi_close($offmh);  //關閉curl多線程

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/165926.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息