GuzzleHttp 使用 cURL 配置选项 - 深入解析与示例
在 GuzzleHttp 中,可以使用 'curl' 配置选项来设置 cURL 选项。可以通过创建一个 'GuzzleHttp\HandlerStack' 实例,并使用 'GuzzleHttp\Handler\CurlHandler' 来设置 cURL 选项。
以下是一个使用 cURL 配置选项的示例:
use GuzzleHttp\Client;
use GuzzleHttp\Handler\CurlHandler;
use GuzzleHttp\HandlerStack;
// 创建一个 cURL 处理程序
$handler = new CurlHandler();
// 创建一个处理程序堆栈,并将 cURL 处理程序添加到其中
$stack = HandlerStack::create($handler);
// 创建一个 GuzzleHttp 客户端,并使用处理程序堆栈
$client = new Client(['handler' => $stack]);
// 发送请求,并使用 cURL 选项配置
$response = $client->request('GET', 'http://example.com', [
'curl' => [
CURLOPT_TIMEOUT => 30, // 设置超时时间为 30 秒
CURLOPT_PROXY => 'http://proxy.example.com', // 设置代理服务器
// 其他 cURL 选项...
]
]);
// 获取响应内容
$body = $response->getBody()->getContents();
// 打印响应内容
echo $body;
在上面的示例中,使用 'GuzzleHttp\Handler\CurlHandler' 创建了一个处理程序堆栈,并传递给 'GuzzleHttp\Client' 来创建一个 GuzzleHttp 客户端。然后,在请求中使用 'curl' 选项来设置 cURL 选项,如超时时间、代理服务器等。
使用 'curl' 选项配置 cURL 时,可以使用 cURL 的常量(如 'CURLOPT_TIMEOUT')来设置对应的 cURL 选项。
还可以设置其他的 cURL 选项,具体的选项可以参考 cURL 的文档:https://curl.haxx.se/libcurl/c/curl_easy_setopt.html
原文地址: https://www.cveoy.top/t/topic/qvl9 著作权归作者所有。请勿转载和采集!