urllib.request.Request有什么问题(url =,data)

时间:2011-11-07 15:45:41

标签: python-3.x

我在我的计算机上测试来自http://docs.python.org/py3k/library/urllib.request.html的代码(Ubuntu 10.04和python 3.2)

>>> import urllib.request
>>> req = urllib.request.Request(url='https://localhost/cgi-bin/test.cgi',
... data=b'This data is passed to stdin of the CGI')
>>> f = urllib.request.urlopen(req)
>>> print(f.read().decode('utf-8'))
Got Data: "This data is passed to stdin of the CGI"

使用服务器

python3 -m http.server

在urlopen(req)时收到以下消息:

......
ssl.SSLError: [Errno 1] _ssl.c:390: error:140770FC:SSLroutines:SSL23_GET_SERVER_HELLO:unknown protocol

During handling of the above exception, another exception occurred:
......
urllib.error.URLError: <urlopen error [Errno 1] _ssl.c:390: error:140770FC:SSL     routines:SSL23_GET_SERVER_HELLO:unknown protocol>

有什么建议吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

SSL为通过HTTP发生的基本通信添加加密。这意味着正常连接会将其视为crud数据,除非您使用SSL库。