php 异步post,php – 使用POST的异步cURL
我正在制作一個命令行應用程序.在執(zhí)行登錄過程后,我需要同時通過cURL發(fā)出多個POST請求 – 這意味著傳出請求必須發(fā)送會話ID等.
事件鏈如下:
>我用curl_init打開cURL連接
>我使用curl_exec登錄遠程站點發(fā)送POST請求,并獲得返回的HTML代碼作為響應
>我同時向同一站點發(fā)送多個POST請求.
我在考慮使用類似的東西:
// Init connection
$ch = curl_init();
// Set curl options
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
// Perform login
curl_setopt($ch, CURLOPT_URL, "http://www.mysite/login.php");
$post = array('username' => 'username' , 'password' => 'password');
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
$result = curl_exec($ch);
// Send multiple requests after being logged on
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 1);
for($i = 0 ; $i < 10 ; $i++){
$post = array('myvar' => 'changing_value');
curl_setopt($ch, CURLOPT_URL, 'www.myweb.ee/changing_url');
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
curl_exec($ch);
}
但這似乎不起作用,因為只有循環(huán)中的第一個請求似乎被發(fā)送.
使用curl_multi_init可能是一個解決方案,但我不知道我是否可以多次傳遞相同的cURL句柄,每個都有更改的選項.
對于那些同時發(fā)出的請求,我不需要服務器的任何響應,但如果它也可以以某種方式完成,那將是很棒的.
如果有人能夠把我推向正確的方向,那將是完美的.
總結
以上是生活随笔為你收集整理的php 异步post,php – 使用POST的异步cURL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AMD发布RX 7800 XT和RX 7
- 下一篇: 乘联会崔东树:新能源汽车越来越趋向于消费