【问题标题】:Laravel Guzzlehttp cURL error 56: SSLRead() return error -9806 (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)Laravel Guzzlehttp cURL 错误 56:SSLRead() 返回错误 -9806(参见 http://curl.haxx.se/libcurl/c/libcurl-errors.html)
【发布时间】:2019-08-28 07:37:55
【问题描述】:

我们有使用Oauth 1.0 使用API​​ 的网站。直到几天前,该网站一直运行良好。我们使用 API 的服务器已移至新的托管服务提供商。从那时起,我们收到了错误消息

cURL 错误 56:SSLRead() 返回错误 -9806(请参阅 http://curl.haxx.se/libcurl/c/libcurl-errors.html)

我们已尝试禁用 ssl 验证,但这似乎也不起作用。似乎我们根本无法访问服务器。服务提供商告诉我们,根本没有我们的程序到达他们的服务器的记录。

use GuzzleHttp\Exception\GuzzleException;
use GuzzleHttp\Client;

.....

$headers = [
    'Content-Type' => 'application/json',
 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 
 'Accept-Language: en-US,en;q=0.5', 
 'Accept-Encoding: gzip, deflate', 
 'Connection: keep-alive', 
];

$client = new Client(['base_uri' => self::getBaseUrl().'/ETCAPICP/api/', 'headers' => $headers]);

实际结果:

消息:“cURL 错误 56:SSLRead() 返回错误 -9806(请参阅http://curl.haxx.se/libcurl/c/libcurl-errors.html)”

预期的是,程序应该能够成功完成握手并能够使用 API

感谢任何帮助。 谢谢

【问题讨论】:

    标签: php laravel guzzle6


    【解决方案1】:

    每当 Guzzle 尝试建立 curl 连接时,它都会准备并提交带有可用信息的请求。如果它没有任何信息,它只是将该参数设置为空。

    请求中“User-Agent”的标头值为 null,这似乎是罪魁祸首。我必须在标头请求中添加“User-Agent”,现在一切正常。

    use GuzzleHttp\Exception\GuzzleException;
    use GuzzleHttp\Client;
    
    .....
    
    $headers = [
     'User-Agent' => 'Testing 1.0'
    ];
    
    $client = new Client(['base_uri' => self::getBaseUrl().'/ETCAPICP/api/', 'headers' => $headers]);
    

    希望这对其他有类似问题的人有所帮助。

    【讨论】:

      【解决方案2】:

      通常这可能意味着某些参数值为空或为空。

      【讨论】:

        猜你喜欢
        • 2016-04-14
        • 2021-01-08
        • 2020-11-07
        • 2016-12-18
        • 2019-05-25
        • 2017-05-24
        • 1970-01-01
        • 2019-12-17
        • 2021-08-22
        相关资源
        最近更新 更多