gpt4 book ai didi

php - PHP cURL仅在某些请求上出现问题

转载 作者:行者123 更新时间:2023-12-03 08:22:36 24 4
gpt4 key购买 nike

美好的一天..

我有一个Web应用程序,可通过代理向另一台服务器发出请求。现在我要说这些请求中的99%完全可以正常工作,但是我没有任何问题,可以收到回复。

但是,有些请求(数量很少)将返回HTTP响应代码0,这意味着curl失败。用curl_error调试后,我收集了这2个错误。

  • OpenSSL SSL_connect:连接到URL的SSL_ERROR_SYSCALL。
  • 操作在7000毫秒后超时,收到0字节中的0字节

  • 现在第二个是不言自明的。当然,SSL错误是由于代理服务器不可靠造成的,否则我将在每个请求中得到此响应,而不仅仅是1%(对于相同的url)?我很确定我的curl配置没问题。 (如下)。
    curl_setopt_array($this->ch, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => $url,
    CURLOPT_FOLLOWLOCATION => 1,
    CURLOPT_AUTOREFERER => 1,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POST => 0,
    CURLOPT_ENCODING => 'gzip',
    CURLOPT_HEADER => 0
    ));

    如果响应为空/代码= 0,我应该只添加curl执行重试吗?

    谢谢。

    最佳答案

    是的,请重试一次或两次,并知道您并不孤单,我前些时候写了这个:

    echo 'file: ' . $file . ' url: ' . $raw_url . '..' . PHP_EOL;
    try {
    $headers = implode ( " ", $hc->exec ( $url )->getResponseHeaders () );
    } catch ( Exception $ex ) {
    try {
    $headers = implode ( " ", $hc->exec ( $url )->getResponseHeaders () );
    } catch ( Exception $ex ) {
    // sometimes connection fails for no good reason, and a retry (or 2) fixes it...
    // here we give up and deliberately not catch the 3rd exception (if any)
    $headers = implode ( " ", $hc->exec ( $url )->getResponseHeaders () );
    }
    }

    关于php - PHP cURL仅在某些请求上出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53021283/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com