requests使用代理进行网络请求

requests支持HTTP、HTTPS、SOCKS等代理请求;

使用HTTP、HTTPS代理

如果要使用HTTP代理或HTTPS代理,你可以在任意请求方法中传入proxies参数来配置单个请求:

import requests

proxies = {
  "http": "http://10.10.1.10:3128",
  "https": "http://10.10.1.10:1080",
}

requests.get("http://example.org", proxies=proxies)

你也可以通过配置环境变量HTTP_PROXYHTTPS_PROXY来配置代理,使得所有请求都使用代理:

export HTTP_PROXY="http://10.10.1.10:3128"
export HTTPS_PROXY="http://10.10.1.10:1080"

如果你的代理使用了HTTP Basic Auth,即使用了密码验证,应该使用http://user:password@host/的语法,例:

proxies = {
    "http": "http://user:pass@10.10.1.10:3128/",
}

使用SOCKS代理

在requests 2.10.0后支持了SOCKS协议的代理功能;这是一个可选功能,如果你要使用,需要进行安装:

pip3 install requests[socks]

安装好后即可使用,使用方法和HTTP代理一样:

proxies = {
    'http': 'socks5://user:pass@host:port',
    'https': 'socks5://user:pass@host:port'
}

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/requests-proxy.html

分类: 计算机技术
推荐阅读:
VirtualBox菜单隐藏了怎么打开? 我们使用VirtualBox运行虚拟机后,可以通过视图菜单改变虚拟机的显示方式,其中包括全屏模式,无缝模式,自动缩放模式,使用了这些模式后,可能导致上方的菜单消失;
kali终端改为一行显示 本文将探讨如何将Kali中的ZSH终端由双行显示切换为单行显示;
Rust获取代码的运行时间 在 Rust 中,你可以使用 std::time::Instant 模块来测量代码的运行时间。以下是一个简单的示例代码,演示如何在 Rust 中测量代码的运行时间:
PyQt:QLabel在Python里的详细用法 本文将介绍PyQt5中的QLabel部件在Python下的详细用法;并介绍了一些QLabel部件常用的属性和方法,以及信号、槽的使用;
使用Python爬取网页上的所有链接 要使用Python爬取网页上的所有链接,可以使用Python的requests库和BeautifulSoup库。
使用PyInstaller打包PyQt5程序发生ImportError错误的解决办法 ImportError: unable to find Qt5Core.dll on PATH ,Failed to execute script main