Python-python 怎么通过代理访问https网站
能通过代理访问(urlopen)https的网站吗?
req = urllib2.Request(“https://play.google.com/store/apps/collection/topselling_new_free”)
response = urllib2.urlopen(req)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,urlopen是访问指定URL,并不是代理访问。你的问题中的方法就能直接访问HTTPS,urlopen支持访问HTTP,HTTPS,FTP等URL地址。详见http://docs.python.org/library/urllib2.html#urllib2.urlopen
其次,python通过代理访问https或http网站的方法一样,都需要用到 ProxyHandler。下面是一个来自python官网的例子,该例通过http代理访问URL:
proxy_handler = urllib2.ProxyHandler({'http': 'http://www.example.com:3128/'})
proxy_auth_handler = urllib2.ProxyBasicAuthHandler()
proxy_auth_handler.add_password('realm', 'host', 'username', 'password')
opener = urllib2.build_opener(proxy_handler, proxy_auth_handler)
# This time, rather than install the OpenerDirector, we use it directly:
opener.open('http://www.example.com/login.html')
最后,如果需要通过socks代理访问http(s),据我所知需要第三方类库SocksiPy。SocksiPy提供了一个类socket的接口,支持socks4、socks5和http proxy。