2024-09-30 20:37:44 发布
网友
我在使用urlib打开具有HTTPS协议的链接时遇到问题。 我在Ubuntu中运行python2.7.1,使用家庭网络(没有代理)。在
它总是返回和错误,如果我改成HTTP,它会起作用,我在这里遗漏了什么?在
代码示例:
from BeautifulSoup import * import urllib url = "https://path/file.html" html = urllib.urlopen(url).read()
返回错误:
这不是最好的答案。在
我只在使用不正确的SSL证书的服务器上遇到这个问题,比如https://pygame.org/。在
https://pygame.org/
在request中有一个选项可以禁用证书验证。在
request
import requests r = requests.get("https://pygame.org", verify=False) html = r.content
验证脚本不起作用。没有验证脚本显示警告但有效。在
但我在urllib中没有找到这个选项。在
urllib
我找到了解决方法,必须设置SSL代码。在
我的代码中缺少这部分!在
import requests import json import ssl scontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2) req = urllib.urlopen(url, context=scontext) html = req.read()
在` 这样就可以浏览HTTPS网站了
这不是最好的答案。在
我只在使用不正确的SSL证书的服务器上遇到这个问题,比如
https://pygame.org/
。在在
request
中有一个选项可以禁用证书验证。在验证脚本不起作用。没有验证脚本显示警告但有效。在
但我在
urllib
中没有找到这个选项。在我找到了解决方法,必须设置SSL代码。在
我的代码中缺少这部分!在
在` 这样就可以浏览HTTPS网站了
相关问题 更多 >
编程相关推荐