我刚开始使用python 3.3.3中的urllib,我可以使用urllib.request.urlopen()
来发出POST请求。但是,我想要做的是使用HTTPS的POST。我看到urlopen
的文档说“当前HTTP请求是唯一使用数据的人”(我需要POST请求的'data'参数)。
然后我看到urllib.request.HTTPSHandler
似乎能够通过其https_open()
进行HTTPS POST。不幸的是,似乎我无法弄清楚如何使用这个功能。现在我只想用这个处理程序做一个简单的HTTPS GET,所以我试图做的是
import urllib.request
r = urllib.request.Request("https://www.google.com")
handler = urllib.request.HTTPSHandler()
handler.https_open(r)
但这会导致AttributeError: 'Request' object has no attribute 'timeout'
如何让HTTPSHandler.https_open()
工作?或者如果我使用
urlopen
会调用https_open
函数
opener = urllib.request.build_opener(urllib.request.HTTPSHandler)
urllib.request.install_opener(opener)
之前和实际上已经发出了HTTPS POST请求吗?谢谢!