使用 urllib 或请求从 URL 获取数据

Use urllib or requests to get data from URL

我正在尝试使用 urllib、urllib2 或请求从站点获取特定数据。我使用 Python2.7。 我一直收到错误消息:

requests.exceptions.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:590)

这是我的请求代码:

  import requests
  r = requests.get("https://metoc.ndbc.noaa.gov/jtwc#_48_INSTANCE_0SiamlX2KcM6_=https%3A%2F%2Fmetoc.ndbc.noaa.gov%2FProductFeeds-portlet%2Fimg%2Fjtwc%2Fhtml%2Fcoop.jsp%3F")

我已经尝试了所有方法,但没有任何效果:

我尝试将验证参数设置为 false。我犯了同样的错误。 我尝试使用适配器(如其他答案中所述)以使用另一个 SSL 版本。我仍然遇到同样的错误。

知道问题出在哪里吗? 难不成是楼主锁了权限,没办法获取这个源码了URL?

All of them in macs with Yosemite or ElCapitan...

这些版本仍然与 OpenSSL 0.9.8 一起提供,所以我的猜测是您的 python 链接到此版本的 OpenSSL(python 不使用 [=16= 中的本机 TLS 堆栈] X)。但由于服务器仅支持 ECDHE 密码,而 OpenSSL 0.9.8 不支持这些密码,因此握手将失败。有关详细信息,请参阅 report from SSLLabs