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

分类: 计算机技术
推荐阅读:
Golang实现字符串的SHA1加密 本文将使用Go语言内置包 crypto/sha1 来实现SHA1加密。
Golang多个返回值有什么作用 在 Go 语言中,函数可以返回多个值,这是一项非常实用的特性,其作用如下:
C语言计算数组元素数量 使用sizeof()函数计算整个数组的内存占用大小,再计算单个元素的内存占用大小;以总内存占用大小除以单个元素的内存占用大小,得到的就是元素数量;
Python实现与智能机器人交互 本文将利用API与智能机器人进行人机交互,进行简单的聊天对话;代码由Python语言实现。
Python property()函数 property()函数是Python内置函数之一,用于创建属性。
no new variables on left side of :=错误解决方法 Go语言中使用:=进行赋值导致no new variables on left side of :=错误,其原因是:=左侧没有新变量;