首页IT科技python socks5代理(在python的urllib2中使用socks代理 | 潘魏增)

python socks5代理(在python的urllib2中使用socks代理 | 潘魏增)

时间2025-06-14 23:20:11分类IT科技浏览7832
导读:在python的urllib2中使用socks代理...

在python的urllib2中使用socks代理

python2.5中的urllib2支持http代理               ,不支持socks代理               。假如代码库或者编码时使用了urllib2                        ,同时又要使用socks        ,就需要第三方的库来实现                        。幸运的是               ,已经有人造好了轮子        。

SocksiPy是一个socks module               。它提供了一个类socket的接口                       ,支持socks4                、socks5和http proxy                       。下载后在代码中引用socks.py即可        ,也可以写个setup.py文件安装到python的site-packages目录中        。

使用时        ,将下面的代码放在调用urllib2的代码之前即可:

1
2
3
4
5
6
import socks
import socket
socks.setdefaultproxy(socks.<span class="hilite">PROXY</span>_TYPE_SOCKS5, "127.0.0.1", 8080)
socket.socket = socks.socksocket
import urllib2
print urllib2.urlopen(<span class="hilite">http</span>://panweizeng.com).read()

如果是自己写的程序                       ,也可以尝试使用pycurl这个库        。ubuntu使用sudo apt-get install python-pycurl python-pycurl-dbg安装                       。

示例代码

1
2
3
4
5
6
7
import pycurl
c = pycurl.Curl()
c.setopt(pycurl.URL, <span class="hilite">http</span>://panweizeng.com)
c.setopt(pycurl.PROXY, 127.0.0.1)
c.setopt(pycurl.PROXYPORT, 8080)
c.setopt(pycurl.PROXYTYPE, pycurl.<span class="hilite">PROXY</span>TYPE_SOCKS5)
c.perform()

如果在程序外部使用socks                ,推荐使用tsocks                。ubuntu中直接使用sudo apt-get install tsocks安装        。安装完毕以后需要修改/etc/tsocks.conf                       。

配置样例如下

1
2
3
4
5
6
# 默认代理服务器
server = 127.0.0.1
# 代理服务器类型
server_type = 5
# 代理服务器端口
server_port = 8080

使用时        ,在命令行输入tsocks 程序名即可                。例如ubuntu下的epiphany浏览器没有代理设置                       ,如果想使用socks代理                ,输入tsocks epiphany-browser即可(注意先关闭其他的epiphany实例)。

声明:本站所有文章,如无特殊说明或标注                       ,均为本站原创发布                       。任何个人或组织                        ,在未征得本站同意时,禁止复制                       、盗用        、采集        、发布本站内容到任何网站                       、书籍等各类媒体平台                        。如若本站内容侵犯了原著者的合法权益               ,可联系我们进行处理。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
前端入门视频教程(前端练手项目合集40.0个,附源码,2022年最新) 模板网站与定制型网站的区别(如何选择适合自己的网站类型)