在PHP中發起異步HTTP請求一般有兩種方法:使用cURL庫或使用Guzzle HTTP Client庫。以下是使用這兩種方法處理異步HTTP請求的示例代碼:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://example.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
// 設置為異步請求
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
// 發起請求
curl_exec($ch);
// 關閉cURL資源
curl_close($ch);
// 處理響應
// 這里可以根據實際情況進行響應處理
require 'vendor/autoload.php'; // 導入Guzzle庫
$client = new GuzzleHttp\Client();
// 發起異步請求
$request = new GuzzleHttp\Psr7\Request('GET', 'http://example.com');
$promise = $client->sendAsync($request);
$promise->then(
function (GuzzleHttp\Psr7\Response $response) {
// 處理響應
// 這里可以根據實際情況進行響應處理
},
function (GuzzleHttp\Exception\RequestException $exception) {
// 處理異常
}
);
$promise->wait(); // 等待請求完成
以上是使用cURL庫和Guzzle HTTP Client庫處理異步HTTP請求的示例代碼,可以根據實際需求選擇適合的方法。