在Python中设置HTTP代理设置

在Python中工作,我们可能会从典型的网络请求连接到外部服务器,pip 包安装。如果你是在HTTP代理后面,你可能会遇到连接超时的问题。

为了解决这个问题,你需要配置你的HTTP代理设置,更本源的是,这是一个操作系统(OS)的问题,一些命令就可以了。

然而,我们也可以使用第三方库内的特定参数来指定我们打算使用的代理,而不改变我们的原生操作系统代理。

在这篇文章中,我们将讨论如何在我们的PC和Python中设置HTTP代理。

使用export 来设置Python中的HTTP代理设置

如前所述,配置HTTP代理是一个更原生的操作,将根据你所使用的操作系统来决定。

对于Linux和macOS,你可以使用export 命令,并指定带有你打算使用的HTTP代理的http_proxy

export http_proxy="username:password@ip address:port number"

另外,你可以使用https_proxy 来更新HTTPS代理。

export https_proxy="username:password@ip address:port number"

需要注意的是,这个HTTP代理设置配置只针对你执行它的终端会话,不是全局的;而且是最有价值的,特别是如果连接超时只针对那个Python操作。

要使它成为全局性的,你需要将上述命令添加到你的~/.bash_profile (Linux或老式Mac)或~/.zshrc (较新的macOS)。

使用set 来设置 Python 中的 HTTP 代理设置

要在Windows中配置你的HTTP和HTTPS代理设置,你需要与Linux和macOS环境内相同的变量,http_proxyhttps_proxy 。但是,设置代理设置的命令是set

set http_proxy="username:password@ip address:port number"

而对于HTTPS代理。

set https_proxy="username:password@ip address:port number"

与Linux和macOS环境一样,HTTP和HTTPS配置只在终端会话中发挥作用。

在Python中使用--proxy 来设置HTTP代理设置

如果你在工作或下载Python软件包时遇到了连接超时或HTTP问题,你可以使用--proxy 参数。

pip install --proxy="username:password@ip address:port number" package-name

上述命令允许pip 使用代理服务器来访问网站;如果需要密码,它会要求输入。

在Python中使用proxies 来设置HTTP代理设置

当使用API或外部网站时,你可以使用代理来绕过过滤器,增加你的匿名性,并维护你的安全。

为了使用这样的代理,你可以使用requests 包,并创建一个字典来保存 HTTP 和 HTTPS 的代理。

proxies = {
    'http': 'http://211.161.103.139',
    'https': 'http://63.239.220.5',
}

要安装requests 包,请使用下面给出的pip 命令:

pip install requests

要使用proxies 参数,我们可以通过URLproxies

import requests as req
proxies = {
    'http': 'http://211.161.103.139',
    'https': 'http://63.239.220.5',
}
URL = "https://jsonplaceholder.typicode.com/todos/1"
response = req.get(URL)
print(response)

如果代理是工作的,代码的输出将是一个状态代码(200),表示成功。这意味着我们在URL上寻找的资源已经被取走了。

<Response [200]>