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

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

时间2025-04-30 01:08:11分类IT科技浏览6754
导读:在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
win10怎么彻底关闭粘滞键(win11粘滞键怎么取消? windows11打开关闭粘滞键的技巧) 微信小程序button组件(微信小程序 button按钮怎么触发事件? bindtap语法怎么使用?)