1
我正在嘗試執行多個POST
REST調用。 捕獲:同時進行多個POST調用。我完全知道,並已與圖書館guzzle
合作,但我沒有想通過這樣做正確。我可以異步執行GET
調用,但對POST
調用沒有任何相同級別的調用。然後我碰到了pthreads
,我通讀了文檔,對於如何啓動它還是有點困惑。我編譯了php
和pthreads
擴展名。對同一API端點執行多個同時POST調用
有人可能會建議如何在同一時間執行多個POST
調用,並能夠收集響應以供日後操作?
以下是循環和等待的基本實現。整體非常緩慢。
$postDatas = [
['field' => 'test'],
['field' => 'test1'],
['field' => 'test2'],
];
foreach ($postDatas as $postData) {
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.apisite.com",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode($postData),
CURLOPT_HTTPHEADER => [
"cache-control: no-cache",
"connection: keep-alive",
"content-type: application/json",
"host: some.apisite.com",
],
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
}
哪裏是'$這個 - > urlStack'宣佈?必須有一些代碼丟失。 – MaryCoding
是的,在這種情況下,它是通向文檔存儲的路徑,它可以是基礎或其他存儲。 – Redr01d