Python requests代理(Proxy)使用教程

在 Python 的 requests 库中,使用代理服务器可以让你通过不同的网络路由发送 HTTP 请求。代理服务器可以帮助隐藏真实 IP 地址、绕过地理限制或进行负载均衡等操作。

什么是代理?

代理服务器是一种中间服务器,它位于客户端(你的代码)和目标服务器(你要请求的服务器)之间。使用代理服务器,你的请求会首先发送到代理,然后代理再将请求转发给目标服务器,目标服务器的响应也会通过代理返回给你。

代理的使用在数据抓取、访问受限网站、提高隐私保护等场景中非常有用。

在 requests 中使用代理

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

使用HTTP、HTTPS代理

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

import requests

proxies = {
"http": "http://proxy1:8080",
"https": "https://proxy2.com:8080",
} #带身份验证的格式
proxies2 = {
'http': 'http://user:password@proxy.example.com:8080',
'https': 'https://user:password@proxy.example.com:8080',
} response = requests.get("http://example.org", proxies=proxies)

在这个例子中,http 请求将通过http://proxy1:8080发送,https 请求将通过https://proxy2.com:8080发送;

通过环境变量设置代理

除了在代码中明确传递proxies参数,还可以通过环境变量配置代理,requests 库会自动读取这些环境变量并应用代理设置。

Windows 环境变量设置命令

set HTTP_PROXY=http://proxy.example.com:8080
set HTTPS_PROXY=https://proxy.example.com:8080

Linux、macOS 环境变量设置命令

export http_proxy=http://proxy.example.com:8080
export https_proxy=https://proxy.example.com:8080

Python requests代理(Proxy)使用教程的更多相关文章

  1. Python requests代理

    self.ip=requests.get('http:ip获取') self.ip=(self.ip.text).replace('\r','').replace('\n','') print('IP ...

  2. Python+Requests接口测试教程(1):Fiddler抓包工具

    本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测 ...

  3. 转载:python + requests实现的接口自动化框架详细教程

    转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由 ...

  4. python + requests实现的接口自动化框架详细教程

    前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自 ...

  5. python+requests接口自动化测试框架实例详解教程

    1.首先,我们先来理一下思路. 正常的接口测试流程是什么? 脑海里的反应是不是这样的: 确定测试接口的工具 —> 配置需要的接口参数 —> 进行测试 —> 检查测试结果(有的需要数据 ...

  6. Python requests 安装与开发

    Requests 是用Python语言编写HTTP客户端库,跟urllib.urllib2类似,基于 urllib,但比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求, ...

  7. Python——Requests库的开发者接口

    本文介绍 Python Requests 库的开发者接口,主要内容包括: 目录 一.主要接口 1. requests.request() 2. requests.head().get().post() ...

  8. Python requests介绍之接口介绍

    Python requests介绍 引用官网介绍 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. Requests 允许你发送纯天然,植物饲养的 HTTP/1. ...

  9. python通过代理刷网页点击量

    python通过代理刷网页点击量 更新异常处理情况 @time 2013-0803 更新循环里计数问题和随机等待时间问题 #!/usr/bin/python #-*- coding:utf-8 -*- ...

  10. 使用python requests模块搭建http load压测环境

    网上开源的压力测试工具超级的多,但是总有一些功能不是很符合自己预期的,于是自己动手搭建了一个简单的http load的压测环境 1.首先从最简单的http环境着手,当你在浏览器上输入了http://w ...

随机推荐

  1. 俄罗斯方块-shell脚本写的,学习学习

    #!/bin/bash APP_NAME="${0##*[\\/]}" APP_VERSION="1.0" #颜色定义 iSumColor=7 #颜色总数 cR ...

  2. JUC并发—1.Java集合包底层源码剖析

    大纲 1.为什么要对JDK源码剖析 2.ArrayList源码一:基本原理以及优缺点 3.ArrayList源码二:核心方法的原理 4.ArrayList源码三:数组扩容以及元素拷贝 5.Linked ...

  3. MarkDown学习使用图片

    学习MarkDown使用

  4. [BZOJ5093] 图的价值 题解

    考虑计算一个点的贡献,最后 \(\times n\) 即为所求. 显然一个点的贡献为 \(\sum\limits_{i=0}^{n-1}\binom{n-1}ii^k2^{\frac{(n-1)(n- ...

  5. Springboot - [05] 彩蛋~

    题记部分 彩蛋一:如何更换Springboot启动时的logo (1)访问 https://www.bootschool.net/ascii-art/search,搜索到佛祖的ASCII艺术字(图)集 ...

  6. linux下配置ip为动态获取

    点击查看代码 在Linux系统中配置网络接口以动态获取IP地址,通常需要使用DHCP(Dynamic Host Configuration Protocol).大多数现代Linux发行版都默认支持这个 ...

  7. Qt QHeaderView 添加复选框

    QT QTableView 表头添加复选框 最近在做表格,用QTableView,然后有一个需求是给表格添加表头,但是没有一个API能够在表头添加复选框,基本都是来重载QHeaderView,有两种方 ...

  8. 使用 HBuilderX 轻松解决 CSS 代码在一行的问题

    前言 最近在做博客园的界面美化,用的是园内大佬的开源项目,配置超级简单,只需要复制粘贴代码就好啦. 但在粘贴 CSS 代码时遇到一个问题,那就是所有代码都挤在了一行,没有一点排板的样子(如下图),对我 ...

  9. maven为什么发生依赖冲突?怎么解决依赖冲突?

    maven为什么发生依赖冲突?怎么解决依赖冲突? 我们在开发的时候,偶尔会遇到依赖冲突的时候,一般都是NoClassDefFoundError.ClassNotFoundException.NoSuc ...

  10. numpy -- 处理数值型数据 -- 数据分析三剑客

    博客地址:https://www.cnblogs.com/zylyehuo/ NumPy(Numerical Python) 是 Python 语言中做科学计算的基础库.重在于数值计算,也是大部分Py ...