CURL返回(35)OpenSSL SSL_connect:SSL_ERROR_SYSCALL

use*_*912 7 ubuntu curl openssl

我正在尝试系统地下载以下图像:

https://floridakeyswebcams.tv/sloppycam/camarchive/0807.jpg

在Firefox中,图像显示正常。

使用CURL或wget时,下载失败。

在具有Open SSL 1.1.0g的Ubuntu 18.04上,它将在curl中返回以下内容:

*   Trying 74.209.245.140...
* TCP_NODELAY set
* Connected to floridakeyswebcams.tv (74.209.245.140) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to floridakeyswebcams.tv:443 
* stopped the pause stream!
* Closing connection 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to floridakeyswebcams.tv:443 
Run Code Online (Sandbox Code Playgroud)

在植有busybox和OpenSSL v1.0.0g的旧三星Note 3上,它下载文件,但仅下载1 KB的空文件。

有想法吗?

小智 6

当它通过浏览器工作并且不能以与curl 相同的方式工作时,您需要对curl 请求进行一些更改。

最新版本的Chrome浏览器支持一个非常好的选项“复制为cURL”。这非常方便,可以解决大多数此类问题。

要访问此选项 -

  1. 打开新标签页
  2. 右键单击打开上下文菜单,选择“检查”并打开“网络”选项卡。
  3. 现在将 URL 粘贴到 URL 栏中并开始。它将导航到图像。
  4. 右键单击网络请求成功并显示图像
  5. 在“复制”菜单中,有“复制为 cURL”选项。
  6. 打开终端并粘贴到此处。这是curl 命令,它将运行并模拟与Chrome 浏览器完全相同的请求。

这在大多数情况下都有效,并且绝对适用于问题中给出的链接。

  • Firefox 也提供了“复制为 cURL”功能:F12 > 网络 > 右键单击​​ > 复制为 cURL。 (13认同)