Python-python 怎么通过代理访问https网站

发布于 2016-10-18 07:31:02 字数 181 浏览 1262 评论 1

能通过代理访问(urlopen)https的网站吗?

req = urllib2.Request(“https://play.google.com/store/apps/collection/topselling_new_free”)
response = urllib2.urlopen(req)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

晚风撩人 2017-07-25 07:37:34

首先,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。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文