卷曲错误 - 来自服务器的空回复 (ssl)

Posted

技术标签:

【中文标题】卷曲错误 - 来自服务器的空回复 (ssl)【英文标题】:Curl error - Empty reply from server (ssl) 【发布时间】:2012-06-16 01:25:20 【问题描述】:

我在 OSX 上使用 curl 访问某些 URL 时遇到问题。对于其他 url,我会收到响应,对于这个特定的 UWL,我可以从其他 ubuntu 机器接收响应。

我被卡住了,不知道哪个组件坏了,除了升级整个系统之外,我一无所知,非常感谢任何会阻止我这样做的建议。

卷曲的输出:

$ curl -v https://subdomain.example.com/pushdispatcher/dispatcher.asp
* About to connect() to subdomain.example.com port 443 (#0)
*   Trying 213.229.251.147... connected
* Connected to subdomain.example.com (213.229.251.147) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: /Users/bmihelac/.cert/cacert.pem
  CApath: none
  * SSLv2, Client hello (1):
  * SSLv3, TLS handshake, Server hello (2):
  * SSLv3, TLS handshake, CERT (11):
  * SSLv3, TLS handshake, Server finished (14):
  * SSLv3, TLS handshake, Client key exchange (16):
  * SSLv3, TLS change cipher, Client hello (1):
  * SSLv3, TLS handshake, Finished (20):
  * SSLv3, TLS change cipher, Client hello (1):
  * SSLv3, TLS handshake, Finished (20):
  * SSL connection using RC4-MD5
  * Server certificate:
  *      subject: /C=SI/ST=Ljubljana/L=Ljubljana/O=Example d.d./OU=Example/CN=subdomain.example.com
  *      start date: 2011-07-01 00:00:00 GMT
  *      expire date: 2012-07-26 23:59:59 GMT
  *      common name: subdomain.example.com (matched)
  *      issuer: /C=US/O=Thawte, Inc./CN=Thawte SSL CA
  * SSL certificate verify ok.
  > GET /pushdispatcher/dispatcher.asp HTTP/1.1
  > User-Agent: curl/7.16.4 (i386-apple-darwin9.0) libcurl/7.16.4 OpenSSL/0.9.7l zlib/1.2.3
  > Host: subdomain.example.com
  > Accept: */*
  > 
  * SSLv3, TLS handshake, Hello request (0):
  * SSL read: error:00000000:lib(0):func(0):reason(0), errno 54
  * Empty reply from server
  * Connection #0 to host subdomain.example.com left intact
  curl: (52) SSL read: error:00000000:lib(0):func(0):reason(0), errno 54
  * Closing connection #0

【问题讨论】:

超旧 curl 和超旧 OpenSSL 版本的 SSL 问题。我建议升级组件并重试作为第一个补救措施。 @daniel 哈哈,我刚刚注意到自己......你评论了一个非常古老的问题。当它被发布时,他们还没有那么老,lmao。但是你激活了这个问题,现在我发现自己在回答它。大声笑。 curl 7.16.4 在 2012 年已经 5 岁了... 【参考方案1】:

服务器似乎出于某种原因断开了您的连接。

尝试将 User-Agent 标头添加到请求中(机器人检测?) 尝试从其他ip连接(你的ip在黑名单中?)

【讨论】:

以上是关于卷曲错误 - 来自服务器的空回复 (ssl)的主要内容,如果未能解决你的问题,请参考以下文章

什么是 curl 错误 52“来自服务器的空回复”?

“本地主机没有发送数据。ERR_EMPTY_RESPONSE”和“curl:(52)来自服务器的空回复”

knitcitations citet 给出“来自服务器的空回复”

php guzzle [curl] 52 来自服务器的空回复

如何解决“git pull,fatal:无法访问'https://github.com ...\':来自服务器的空回复”

curl: (52) 来自服务器的空回复通过 ssh 端口转发