有时候会有需求需要爬需要科学上网才能访问的网站,但是如果开全局模式,访问正常网站就会非常慢,因此需要开PAC模式,但是PAC模式似乎不能直接用 requests 发送请求。

找了半天,最后发现了PAC模式支持的方式,代码如下

from pypac import PACSession,get_pac

url = 'https://xxxxxx.com'

# 这个 url 是要看你的科学上网软件来着的
pac = get_pac(url='http://127.0.0.1:端口/pac/?t=164907') 
s = PACSession(pac) #解析pac文件
resp = s.get(url, headers=headers)