Fork me on GitHub

python使用socket全局代理

有些时候,python做爬虫需要使用代理,那么如何通过SOCKS和HTTP代理服务器发送流量呢?

安装所需模块

首先我们使用pip安装Pysocks模块。

1
pip install Pysocks

代码

如果我们直接运行下面这段代码,会抛出一堆异常,因为我们没有通过SOCKS和HTTP进行代理。

1
2
import requests
requests.get('https://www.google.com')

安装好Pysocks模块后,我们加入如下代码,进行socks5全局代理:

1
2
3
import socket,socks
socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 10808)
socket.socket = socks.socksocket

注意,此处的127.0.0.1为内网(localhost),具体的socket代理监听端口请根据实际情况设置。
然后即可正常访问。