使用Curl将文件发布到Web服务的SSL握手错误

问题描述:

我一直在玩弄Curl,试图做一些简单的POST文件到Web服务几天而没有到达任何地方。使用Curl将文件发布到Web服务的SSL握手错误

目标POST服务未经身份验证的HTTPS。当试图通过Curl或通过Informatica运行我的POST请求时,两种方法都会导致SSL握手失败。

例如:

curl -X POST -F '[email protected]' https://url 

我已经能够得到这个使用邮递员的工作,所以我知道该服务工作。根据网络安全性,SSL在此环境中被禁用。我运气不好,还是有办法让这个没有SSL的工作?

特定错误遇到: 卷曲:(35)错误:14077410:SSL例程:SSL23_GET_SERVER_HELLO:SSLV3警报握手失败

+0

还提供任何错误信息,错误的文字或代码等 – faboolous

默认情况下,客户端建立HTTPS URL连接将检查SSL证书的有效性 - 否则,使用SSL有什么意义?

在你的情况,你是说“假装使用HTTPS,但实际上,忽略证书”,因为它是无效的,或者你仍然得到一个,或者你正处于开发阶段(我希望后者是真实的,并在需要时获得或创建有效的服务器证书)。

curl不知道。假设您要求它与HTTPS端点建立连接 - 因此它会尝试验证证书 - 在您的情况下,这可能是失败的根源。

尝试curl -k -X POST -F '[email protected]' https://url 从手册页:

-k, --insecure 
      (TLS) By default, every SSL connection curl makes is verified to be secure. This option allows curl to proceed and operate even for server connections otherwise considered insecure. 

      The server connection is verified by making sure the server's certificate contains the right name and verifies successfully using the cert store. 

      See this online resource for further details: 
      https://curl.haxx.se/docs/sslcerts.html 

      See also --proxy-insecure and --cacert. 
+0

我已经尝试没有成功不安全的选项,但我确实看到有没有证书目前安装。我在7.27版本上运行,所以我会尝试让服务器团队在7.40版本中将版本冲击到确保这不是唯一的问题。 – Jon