CURL返回(35)OpenSSL SSL_connect:SSL_ERROR_SYSCALL

时间:2018-10-24 12:29:14

标签: 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 

在老版本的Samsung Note 3上,它植根于busybox和OpenSSL v1.0.0g,它将下载文件,但仅下载1 KB的空文件。

想法?

2 个答案:

答案 0 :(得分:1)

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

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

要访问此选项-

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

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

答案 1 :(得分:-1)

有关错误SSL_ERROR_SYSCALL的说明,请参见answer here

您可以使用http1.1标头下载带有curl的文件

curl --http1.1  https://floridakeyswebcams.tv/sloppycam/camarchive/0807.jpg --output  0807.jpg