擅长:python、mysql、java
<p>如果没有服务器的更多信息,很难判断,但我将尝试:</p>
<blockquote>
<p>OpenSSL 0.9.8zd 8 Jan 2015</p>
<p>context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)</p>
</blockquote>
<p>您将协议限制为TLS 1.0。服务器可能需要TLS1.2或TLS1.1或SSL 3.0。请注意,您使用的OpenSSL版本不支持tls1.1+。也可能是服务器没有共享密码。在</p>
<p>尝试与浏览器连接,查看使用的TLS版本和密码。如果这是可行的,但是需要tls1.1+,那么尝试使用curl或wget创建一个连接。如果这是公共URL,请使用<a href="https://www.ssllabs.com/ssltest/analyze.html" rel="nofollow">SSLLabs</a>检查支持的协议和密码。在</p>
<blockquote>
<pre><code>http_client.fetch('https://ip.to.the.server/some_url', method='GET', ssl_options=context)
</code></pre>
</blockquote>
<p>如果您真的在这里使用IP地址,服务器不接受该IP地址作为SNI名称也可能是一个问题。如果给定的名称与配置不匹配,某些服务器会导致握手失败,而其他服务器只返回默认证书。除此之外,URL中的主机名必须与证书中的名称匹配,这样证书验证才能成功。在</p>