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

分类: 计算机技术
推荐阅读:
什么是控制字符? 控制字符是ASCII码表中的一部分字符,其编码在0到31之间(包括0和31),以及字符127;这些字符通常不用于显示文本,而是用于控制计算机的输入输出,或者用于传输数据时控制信息;
Golang中 import cycle not allowed 的解决方法 在Go语言中,在使用import导入相应的包时,你可能会碰到 import cycle not allowed 这样的问题,出现这样的问题是你的包没有规划好,导致包相互依赖;
TypeError: __format__ must return a str, not NoneType 在 Python 中,如__format__()方法必须返回一个字符串,否则将触发类似TypeError: __format__ must return a str, not NoneType的错误;
Linux终端显示文件中的特定行 在Linux系统下,你如果想在终端显示文件中的指定行,那么你只需这一条命令:
Rust:if this is intentional, prefix it with an underscore解决方法 编译Rust程序时提示:if this is intentional, prefix it with an underscore: `_x`,这表明存在一个未使用的变量 x,你可以将其删除或在变量名前添加一个下划线前缀;
WordPress获取指定数量的随机文章(不用插件) 我们希望每次打开网站时,在某个位置生成随机的文章列表,可以通过以下代码实现: