在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请求的示例代码,可以根据实际需求选择适合的方法。