PHP利用CURL MULTI實現多執行緒爆破

2021-07-07 02:37:50 字數 914 閱讀 6889

第二天我通過各種網路搜尋又搞出了乙個更快的方法,使用curl_multi這個東西我在網路上也沒看懂到底是怎麼回事,但是網上的文章都千篇一律,全是copy的,我也就依葫蘆畫瓢,拼拼湊湊勉強能夠執行,先貼出**:

<?php 

function fn()

function writelog($str)

if($_post["nums"] and $_post["nume"])

$mh = curl_multi_init();

foreach ($connomains as $i => $url)

do while ($active);

while($active&&$mrc==curlm_ok)while($mrc==curlm_call_multi_perform);

} }

foreach ($connomains as $i => $url)

$value=curl_multi_getcontent($conn[$i]);

curl_close($conn[$i]);

}$end_time = fn();

echo '符合條件共'.$count.'條記錄';

}?>

**具體什麼意思我也就不解釋了,因為我自己也沒搞懂....

簡單說一下她的問題:

1.同時請求的數量不能太多,太多就會出現錯誤(保持在1000以內最好)。

2.不是真正的多執行緒,導致效率依然不夠,不過較之前的提高了十幾倍(請求100個只需要三秒多),還是不錯了。

程式值得優化的地方放依然很多,等以後自己懂得的知識多起來再回過頭來嗎,慢慢改進。

php利用curl multi 函式實現非同步請求

這是php官方示例的用curl實現併發請求的 create both curl resources ch1 curl init ch2 curl init curl setopt ch1,curlopt url,curl setopt ch1,curlopt header,0 curl setopt...

PHP利用CURL MULTI實現多執行緒

php中的curl multi一類函式可以實現同時請求多個url,而不是乙個乙個依次請求,這就類似乙個程序實現了多個執行緒的功能,因此可以使用php利用curl multi實現完成多執行緒類的任務,下面就乙個利用php curl multi多執行緒採集網頁為例來說明一下。檢視 列印01 02 功能 ...

PHP使用curl multi併發請求

輪詢 do 一旦有乙個請求完成,找出來,處理,因為curl底層是select,所以最大受限於1024 while done curl multi info read 當沒有資料的時候進行堵塞,把 cpu 使用權交出來,避免上面 do 死迴圈空跑資料導致 cpu 100 if running if r...