在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_proxy
和https_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
参数,我们可以通过URL
和proxies
。
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]>