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