0
当我尝试将数据从http发布到https时,urllib2不会返回所需的https网页,而是网站要求启用cookie。python urllib2不返回https页面
要获得第一HTTP页:
proxyHandler = urllib2.ProxyHandler({'http': "http://proxy:port" })
opener = urllib2.build_opener(proxyHandler)
opener.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0')]
urllib2.install_opener(opener)
resp = urllib2.urlopen(url)
content = resp.read()
当我从上面的页面和POST数据到第二HTTPS网页,urllib2的返回成功状态200和页面提取数据要求启用Cookie。
我检查了发布的数据,其罚款。我从网站获取cookie,但不确定它们是否正在发送下一个请求,或者我没有在python docs中阅读urllib2自动处理cookie。
要获得第二HTTPS页面:
resp = urllib2.urlopen(url, data=postData)
content = resp.read()
我也试着代理处理程序设置,这个是计算器中类似的问题的答复读的地方,但得到了同样的结果:
proxyHandler = urllib2.ProxyHandler({'https': "http://proxy:port" })
您是否有充分的理由使用urllib2而不是像[requests](http://pypi.python.org/pypi/requests)(最好)或[httplib2](http:// code .google.com/p/httplib2 /)(支持Python 3)? – ephemient
我在找到解决方案时遇到了请求库,但由于我是python新手,我认为先试试python安装的库更好一些! – Coder