在 PHP 中使用 cURL 进行 HTTP 请求时,可以通过设置
CURLOPT_TIMEOUT
和
CURLOPT_CONNECTTIMEOUT
选项来设置超时时间。
CURLOPT_TIMEOUT
选项指定从开始到传输结束的最大时间,单位为秒。如果指定的时间内没有传输完成,则会抛出
CURLE_OPERATION_TIMEDOUT
错误。
CURLOPT_CONNECTTIMEOUT
选项指定连接的最大时间,单位为秒。如果在指定的时间内无法建立连接,则会抛出
CURLE_COULDNT_CONNECT
错误。
以下是使用 cURL 设置超时时间的示例代码:
// 创建 cURL 句柄
$ch = curl_init();
// 设置请求 URL
curl_setopt($ch, CURLOPT_URL, "http://example.com");
// 设置超时时间
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // 设置传输超时时间为 10 秒
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); // 设置连接超时时间为 5 秒
// 执行请求并获取响应
$response = curl_exec($ch);
// 检查是否出错
if (curl_errno($ch)) {
echo 'Error: ' . curl_error($ch);
// 关闭 cURL 句柄
curl_close($ch);
在这个例子中,超时时间分别设置为 10 秒和 5 秒。如果请求超过这些时间仍未完成,则会抛出相应的错误。