【问题标题】:CURL timeout - Server Issue? Other Domain URL worksCURL 超时 - 服务器问题?其他域名 URL 有效
【发布时间】:2019-07-31 16:34:03
【问题描述】:

当我在下面的示例中使用指向某些外部(如 stackoverflow)的 URL 时,以下代码有效

<?php
$url = 'https://stackoverflow.com/questions/12781876/get-file-content-via-php-curl';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
$data = curl_exec($curl);
echo $data;
curl_close($curl);

问题是当我调用本地服务器 url 时

$url="https://example.com/apiv1.php?test=abc&pet=ss";它抛出错误

cURL Error #:Connection timed out after 30000 milliseconds

我的 API 代码如下所示

<?php
echo "ACCEPTED";
?>

请我尝试增加 PHP 超时,我尝试在 CURL 中设置超时,但没有任何效果

有时候会报错

cURL Error #:Failed to connect to mydomain.com port 443: Connection timed out

【问题讨论】:

  • 你能在浏览器中访问https://example.com/apiv1.php?test=abc&amp;pet=ss吗?
  • :443 可能没有服务器在监听 - 或者自签名证书可能与 /etc/hosts 不匹配。
  • @aynber 是的,我也可以在浏览器和邮递员中访问
  • @MartinZeitler 我尝试使用 HTTP 以及 URL 在浏览器中工作并显示响应

标签: php apache


【解决方案1】:

试试这个:

$url = 'https://stackoverflow.com/questions/12781876/get-file-content-via-php-curl';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 0);
curl_setopt($curl, CURLOPT_HEADER, false);
$data = curl_exec($curl);
echo $data;
curl_close($curl);

【讨论】:

    猜你喜欢
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多