Python,从OS获取代理设置

时间:2013-12-12 07:52:33

标签: python proxy request

我需要从互联网上获取一些数据,但我落后于公司代理,我不知道密码。所以我用pyRequests模块尝试了很多例子,但总是得到消息'授权失败......'。

所以我只是在考虑这个想法是否可行: 代理的主要设置存储在IE(设置中的连接选项卡)中,我也使用Chrome,如果我理解的话Chrome正在使用此设置访问互联网(因为当我在Chrome中打开代理设置时,IE代理设置窗口弹出)。

所以我的问题是,我是否也可以(以某种方式)使用我的python脚本的这个设置以及如何(不知道密码)。

2 个答案:

答案 0 :(得分:1)

通过使用Python urllib模块,您可以使用urllib.request.getproxies函数以与平台无关的方式以编程方式获取系统上的代理:

import urllib
urllib.request.getproxies()

此函数将首先检查在环境变量中设置的任何代理(例如http_proxy等),或者如果未设置任何代理,则它将使用平台特定的调用检查系统配置的代理(例如,在MacOS上,它将使用系统scutil / configd接口,在Windows上将检查注册表。

答案 1 :(得分:0)

Python支持代理的已知(UNIX)操作系统环境变量。此外,对于Windows,它应尝试在可能的情况下从OS注册表中读取设置:https://mail.python.org/pipermail/tutor/2008-December/065573.html

使用代理设置,例如由

  • PIP

  • 的urllib

  • 要求

......据我所知。

如果Python无法从Windows获取代理设置,则可以通过运行使用urllib代理功能的测试脚本进行调查(参见上面的链接)。

如何为Python设置HTTP(S)代理的示例:

How to tell Python to automatically use the proxy setting in Windows XP like R's internet2 option?