关于python requests包新版本设置代理的问题

在更新了requests包之后,发现我电脑上的charles工具无法再成功抓取到数据包。百度了半年都没有找到原因。

然后 我使用了 google 查到了 charles的最新的文档发现。需要设置代理,不然流量过去居然无法被默认抓取系统所有流量的charles抓到。真是 神奇。

具体在 stackoverflow上看到 先上一个 原文地址。http://stackoverflow.com/questions/8287628/proxies-with-python-requests-module

然后 把内容转载过来 我尝试了第二种方法 在环境变量 export里面增加 代理地址。但是似乎没有什么用 但是 在代码中写代理的办法是好使的。具体:

The proxies‘ dict syntax is {"protocol":"ip:port", ...}. With it you can specify different (or the same) proxie(s) for requests using httphttps, and ftp protocols:

http_proxy  = "http://10.10.1.10:3128"
https_proxy = "https://10.10.1.11:1080"
ftp_proxy   = "ftp://10.10.1.10:3128"

proxyDict = {
              "http"  : http_proxy,
              "https" : https_proxy,
              "ftp"   : ftp_proxy
            }

r = requests.get(url, headers=headers, proxies=proxyDict)

Deduced from the requests documentation:

Parameters:
method – method for the new Request object.
url – URL for the new Request object.
...
proxies – (optional) Dictionary mapping protocol to the URL of the proxy.
...



On linux you can also do this via the HTTP_PROXYHTTPS_PROXY, and FTP_PROXY environment variables:

export HTTP_PROXY=10.10.1.10:3128
export HTTPS_PROXY=10.10.1.11:1080
export FTP_PROXY=10.10.1.10:3128

On Windows:

set http_proxy=10.10.1.10:3128
set https_proxy=10.10.1.11:1080
set ftp_proxy=10.10.1.10:3128


Thanks, Jay for pointing this out:
The syntax changed with requests 2.0.0.
You‘ll need to add a schema to the url: http://docs.python-requests.org/en/latest/user/advanced/#proxies

时间: 2025-01-05 16:16:30

关于python requests包新版本设置代理的问题的相关文章

mac/linux 下 selenium 导入python requests包的问题解决

一.安装 Requests 通过pip安装 Code example: 1 $ pip     install     requests 或者,下载代码后安装: Code example: 1 2 3 $ git clone git:     //github     .com     /kennethreitz/requests     .git $     cd     requests $ python setup.py     install 以上内容源自http://www.itwhy

python requests包的基本使用

Requests 安装requests模块: D:\Install\Python36>pip3 install requests 请求方式 #coding:utf-8 import requests requests.get("http://www.baidu.com") requests.post("http://www.baidu.com") #requests.put("http请求") #requests.delete("

python requests包用法

1 先创建session , 设置header. 调用get()函数 s = requests.session() headers = { 'Accept':'image/webp,image/*;q=0.8', 'User-Agent':'News/6.9.8.36 CFNetwork/975.0.3 Darwin/18.2.0', 'Accept-Language':'zh-cn' } s.headers.update(headers) s.get(url=url,params=params

python requests 包 使用

1: 发送带 cookie 的 请求 resp = requests.get(self.url_item_list_first_page, cookies=self.cookies) >>> url = 'http://httpbin.org/cookies' >>> cookies = dict(cookies_are='working') >>> r = requests.get(url, cookies=cookies) >>>

49.Python使用requests包进行HTTP交互方法详解

简介 使用方法 传递QUERY参数 定制请求头 填写cookie 填充请求体 处理响应对象 重定向与访问历史 超时 Session对象 根据响应获取请求 SSL认证 HTTP认证 基本认证 摘要认证 代理场景 HTTPHTTPS代理 SOCKS代理 简介 Python的HTTP包有urllib.urllib2.httplib等,但是都需要了解较多的HTTP原理才能编码,借助requests包可以在较高的抽象层次上完成HTTP交互过程的开发.安装requests使用pip install requ

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

本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测试和python+requests自动化的,首先本书确实写的比较基础,对基础内容也写的很详细,所以大神绕道. 为什么要先学fiddler? 学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始.结合抓包工具讲http协议更容易学一些. 1.1 抓fir

Python第三方包 requests还是urllib?

我注意到一个很奇怪的事情.在极客学院爬虫课视频里,老师说要用requests,但是在其他学习群里,很多同学都在讨论urllib/urllib2相关. 然后就迷惑了,为什么会有这三个东西呢?扒了扒国内的博客网站,大多都是urllib相关,并且不推荐使用requests包.于是去墙外搜了下,竟然发现国外大多推荐用requests.我完全愣到了,完全相反的意见. 再仔细八一下,发现国内很多博客博主,只是说不建议使用requests,然后就介绍urllib,并没有说为什么不选requests:国外的稍微

python导入requests包

第一步:下载一个pip包解压,在cmd中进入pip解压目录进行安装,安装命令:python setup.py install 第二步:配置pip环境变量,在path后配置pip安装路径(pip安装路径位于python安装路径scripts目录下) 第三步:重启电脑(如果在使用pip进行命令操作时提示找不到pip的话) 第四步:在cmd中安装requests,进入到pip的安装目录后执行命令:pip install requests 第五步:检查requests安装是否成功.在pycharm中导入

python模拟浏览器登陆淘宝(设置代理、输入验证码)

终于实现了登陆淘宝,这个验证码机制困惑了我好几天啊. 代码中验证码提供有两种方式,第一种通过webbrowser的open直接在浏览器中打开含有验证码的图片,第二种就是将其以jepg格式存在 C:\\Users\\Administrator\\Desktop\\checkcode.jepg.你可以根据自己主机的用户名更改路径.同时这个代码必须先指定用户名和账号也 可以实时输入账号的密码,小小修改一下代码就可以. 显示根据httpfox分析网页数据,之后再使用正则扣除你想要的数据,将其显示出来.过