requests--超时设置,代理设置,身份认证

超时设置

你可以告诉 requests 在经过以 timeout 参数设定的秒数时间之后停止等待响应。基本上所有的接口都应该使用这一参数。如果不使用,你的程序可能会永远失去响应

import requests

base_url = ‘http://httpbin.org‘

params_data = {"user": "zou", "pwd": ‘31500‘}

r = requests.get(base_url + ‘/get‘, params=params_data, timeout=5)  # 超时会抛个timeout的异常
print(r.url)
print(r.status_code)

代理设置

对于有些接口,一旦开始大规模频繁请求,服务器可能会开启验证,甚至把ip封掉,那么为了防止这种情况的发生,我们就需要开启代理来解决这个问题,在Requests中需要用到proxies这个参数

import requests

basic_url = ‘http://httpbin.org‘
proxie = {‘https‘: ‘http://61.135.217.7:80‘}  # 前面的是协议类型
r = requests.get(basic_url + ‘/get‘, proxies=proxie, timeout=5)
print(r.text)

身份认证

有些接口需要认证之后才可以查看,如BasicAuth认证,DigestAuth认证等等认证方式。在python中使用auth来进行认证

import requests
from requests.auth import HTTPBasicAuth
from requests.auth import HTTPDigestAuth

basic_url = ‘http://httpbin.org‘
# BasicAuth认证
r = requests.get(basic_url + ‘/basic-auth/zou/666‘, auth=HTTPBasicAuth(‘zou‘, ‘666‘))
print(r.text)

# DigestAuth认证
r = requests.get(basic_url + ‘/digest-auth/auth/zou/777‘, auth=HTTPDigestAuth(‘zou‘, ‘777‘))
print(r.text)

结果:

{
  "authenticated": true,
  "user": "zou"
}

{
  "authenticated": true,
  "user": "zou"
}

原文地址:https://www.cnblogs.com/zouzou-busy/p/11407673.html

时间: 2024-10-10 04:21:07

requests--超时设置,代理设置,身份认证的相关文章

IIS Windows身份认证避免corp域内用户输入用户名和密码的方法

步骤: 1. 设置IIS站点身份认证 2. 站点的物理路径添加Everyone用户

requests 进阶用法学习(文件上传、cookies设置、代理设置)

一.文件上传 1.模拟网站提交文件 提交此图片,图片名称:timg.jpg import requests files={ 'file':open('timg.jpg','rb') } response=requests.post('http://httpbin.org/post',files=files) print(response.text) { "args": {}, "data": "", "files": { &q

http错误和异常处理,认证和代理设置

http错误: import urllib.requestreq = urllib.request.Request('http://www.python.org/fish.html')try:urllib.request.urlopen(req)except urllib.error.HTTPError as e:print(e.code)print(e.read().decode("utf8")) 异常处理1: from urllib.request import Request,

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

在更新了requests包之后,发现我电脑上的charles工具无法再成功抓取到数据包.百度了半年都没有找到原因. 然后 我使用了 google 查到了 charles的最新的文档发现.需要设置代理,不然流量过去居然无法被默认抓取系统所有流量的charles抓到.真是 神奇. 具体在 stackoverflow上看到 先上一个 原文地址.http://stackoverflow.com/questions/8287628/proxies-with-python-requests-module 然

java web项目war包部署,使用tomcat对指定接口设置身份认证

先简单说一下需求: 将一个基于springboot2.0开发的java web项目打成war包,通过tomcat部署到一台linux服务器上,项目相关的一些图片等资源也按照一定规则放置在服务器构建好的目录下.现在需要让用户通过http网页链接的方式(在浏览器端)访问图片,为了访问安全,需要在中间加一层用户认证.认证过程希望尽量简单些,所以就尝试用tomcat自带的身份认证来做. 话不多说,直接上实现流程: 首先,由于要访问本地的静态资源,所以在springboot启动类中加了一项静态资源的映射,

使用nginx 的反向代理 给 kibana加上basic的身份认证

第一步准备工作 准备用户名密码: 更改host文件 第二步,安装nginx ubuntu安装Nginx之后的文件结构大致为:所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下启动程序文件在/usr/sbin/nginx日志放在了/var/log/nginx中,分别是access.log和error.log并已经在/etc/init.d/下创建了启动脚本nginx默认的虚拟主机的目录设置在了/usr/share/nginx/

Git代理设置与访问Github

由于目前工作的网络环境有着很严格的限制,可以说最近在通过代理访问Github上颇费了一些周折,也积累了一些相关的经验,觉得有必要备忘一下.本着"不重新发明轮子"的宗旨,本文不会对Github代理设置的每一个细节进行赘述,文中会给出现成的参考文章,这里要做的是针对一些重要的问题进行解释和补充,相信一定能给遇到同样问题朋友以帮助.本文原文出处:http://blog.csdn.net/bluishglc/article/details/37807501 严禁任何形式的转载,否则将委托CSD

接口测试——HttpClient工具的https请求、代理设置、请求头设置、获取状态码和响应头

转自:https://www.cnblogs.com/hong-fithing/p/7617855.html https请求 https协议(Secure Hypertext Transfer Protocol) : 安全超文本传输协议, HTTPS以保密为目标研发, 简单讲HTTPS协议是由SSL+HTTP协议构建的可进行加密传输. 身份认证的网络协议, 其安全基础是SSL协议, 因此加密的详细内容请看SSL. 全称Hypertext Transfer Protocol overSecure

亿牛云爬虫代理设置自主切换IP的方案

1.自主切换IP?该模式适合一些需要登陆.Cookie缓存处理等爬虫需要精确控制IP切换时机的业务. 爬虫程序可以通过设置HTTP头Proxy-Tunnel: 随机数, 当随机数相同时,访问目标网站的代理IP相同. 例如 需要登录,获取数据两个请求在一个IP下,只需对这组请求设置相同Proxy-Tunnel,例如:Proxy-Tunnel: 12345, 该组请求在代理有效期内使用相同的代理IP. 注意 同一时间不同请求组可以设置不同Proxy-Tunnel: 随机数,并发完成数据爬取. 使用相