python使用urllib打开HTTPS链接失败

2024-09-30 20:37:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我在使用urlib打开具有HTTPS协议的链接时遇到问题。 我在Ubuntu中运行python2.7.1,使用家庭网络(没有代理)。在

它总是返回和错误,如果我改成HTTP,它会起作用,我在这里遗漏了什么?在

代码示例:

from BeautifulSoup import *

import urllib

url = "https://path/file.html"

html = urllib.urlopen(url).read()

返回错误:

^{pr2}$

Tags: 代码httpsimporthttpurl协议代理链接
2条回答

这不是最好的答案。在

我只在使用不正确的SSL证书的服务器上遇到这个问题,比如https://pygame.org/。在

request中有一个选项可以禁用证书验证。在

import requests

r = requests.get("https://pygame.org", verify=False)

html = r.content

验证脚本不起作用。没有验证脚本显示警告但有效。在

但我在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网站了

相关问题 更多 >