如何将 SOCKS 4/5 代理与 urllib2 一起使用?
如何使用带有 urllib2 的 SOCKS 4/5 代理来下载网页?
How can I use a SOCKS 4/5 proxy with urllib2 to download a web page?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 SocksiPy 模块。只需将文件“socks.py”复制到 Python 的 lib/site-packages 目录中,就可以开始了。
您必须在 urllib2 之前使用 socks。 (试试
pip install PySocks
)例如:
您还可以尝试 pycurl lib 和 tsocks,了解更多详细信息,请点击 这里。
You can use SocksiPy module. Simply copy the file "socks.py" to your Python's lib/site-packages directory, and you're ready to go.
You must use socks before urllib2. (Try it
pip install PySocks
)For example:
You can also try pycurl lib and tsocks, for more detail, click on here.
当您需要同时使用许多不同的代理时,添加潘的答案的替代方案。
在这种情况下,您需要像使用 http 代理一样创建一个 opener。 GitHub 中有一个代码 https://gist.github.com/869791
Adding an alternative to pan's answer when you need to use many different proxies at the same time.
In that case you need to create an opener like you do with a http proxy. There is a code available in GitHub https://gist.github.com/869791
由于 SOCKS 是套接字级代理,因此您必须替换 urllib2 使用的套接字对象。请看一下这个解决方案。如果猴子修补对您来说不够好,那么您可以尝试子类化或复制修改
urllib2
标准库中的代码。Since SOCKS is a socket level proxy, you have to replace the socket object used by
urllib2
. Please take a look a this solution. If monkey patching is not good enough for you, then you can try to subclass or copy-modify the code from theurllib2
standard library.