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

分类: 计算机技术
推荐阅读:
网站被QQ拦截的解决方法 本文将讨论网站被拦截后的表现、被拦截的原因,以及使用官方通道进行申诉的方法;
Golang函数的多返回值 Golang可以说是少有支持多返回值的静态编程语言,并且可以给返回值命名,这在有的时候非常好用;
Python this模块的加密原理 this模块的代码(this模块位于Python安装目录/lib下)。定义了2个变量;字符串s和字典d(被定义两次);s很明显是一段密文,d则是密码字典,key和value对应的是密文和原文;chr((i+13)%26 +c) 则是加密算法,其原理是通过向字典d写入KEY为字符A~Z,VALUE为加密后的字符。然后通过字典遍历的方法,匹配出正确的字符。
C语言isxdigit()函数:判断字符是否为十六进制数字字符 isxdigit()是C语言标准库中的一个函数,用于判断一个字符是否为十六进制数字字符;十六进制数字包括0~9之间的数字,以及A~F的字母(不区分大小写);
Linux系统中删除特定文件外的所有文件 有这么个场景,如果你想删除某个目录下除了指定文件外的所有文件,你会怎么做呢?在Linux系统下,你可以只需要一条命令就可实现这个功能;
Golang一次性读取文件 从磁盘读取文件内容是I/O编程的基础;几乎所有编程语言实现起来都很简单,Golang也不例外: