8

如何在 urllib 或 requests 等 HTTP 库中包含我的自动代理配置文件。

pacfile = 'http://myintranet.com/proxies/ourproxies.pac'
proxy = urllib3.ProxyManager(????????????????)
4

3 回答 3

12

我创建了一个名为PyPAC的纯 Python 库,它应该可以满足您的需求。它提供了一个requests.Session包含荣誉 PAC 和 PAC 自动发现的子类。

于 2017-05-22T05:44:08.100 回答
11

当前不支持直接在 urllib3 或请求中的代理 PAC 文件。虽然原则上可以为代理 PAC 文件添加支持,但由于它们是需要解释的 Javascript 文件,因此可能极难提供基础广泛的支持。

原则上,您可以使用 requests/urllib3 请求代理 PAC 文件,然后将其传递给 Node.JS 之类的东西进行解释,然后在 Python 中解析结果以传递给 urllib3/requests,但开箱即用的东西并不存在.

于 2015-07-21T08:43:23.963 回答
2

使用 PYPAC。

from pypac import PACSession, get_pac

pac = get_pac(url='http://your/pac/url/file.pac')
session = PACSession(pac, proxy_auth=HTTPProxyAuth('your_user', 'password'))
print(session.get('http://www.google.com'))

你会得到200

于 2021-03-10T03:10:19.437 回答