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

简介: 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"
}

相关文章
|
Web App开发 缓存 JavaScript
如何处理页面关闭时发送HTTP请求?
在实际项目开发中,可能会遇到这样的业务问题:如何在用户离开或关闭页面时发送HTTP请求给服务端?可能有人会觉得页面都关闭了,还需要发送什么请求,完全没必要噻。但如果真有这样的业务需求落到自己的头上,那么我们应该如何来实现呢?
2064 0
如何处理页面关闭时发送HTTP请求?
|
11天前
|
JSON 数据格式 开发者
preflight 错误,但服务端告诉你已经设置过了 CORS 信息怎么办
preflight 错误,但服务端告诉你已经设置过了 CORS 信息怎么办
|
2月前
|
域名解析 存储 缓存
HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口
【6月更文挑战第23天】 HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口;TCP连接(HTTP/1.1可能需排队);三次握手;发送请求头与体;服务器处理并返回响应;TCP连接可能关闭或保持;浏览器接收并显示响应,更新缓存。HTTP版本间有差异。
47 5
|
12月前
|
网络安全 Python
requests--会话对象,ssl验证
requests--会话对象,ssl验证
|
12月前
|
小程序
小程序接口请求配置
小程序接口请求配置
164 0
|
3月前
|
安全
HTTP请求错误:”基础连接已关闭,发送时发生错误”
本文讲解HTTP请求错误:”基础连接已关闭,发送时发生错误”的解决方法。
109 0
|
前端开发 JavaScript 容器
如何封装一个可取消的 HTTP 请求?
如何封装一个可取消的 HTTP 请求?
131 0
|
存储 安全 IDE
OAuth Client默认配置加载
这一节我们要以前面默认的OAuth2 客户端集成为例,来了解下配置文件的加载。
|
网络协议 Go
客户端禁用Keep-Alive, 服务端开启Keep-Alive,会怎么样?
最近部署的web程序,服务器上出现不少time_wait的tcp连接状态,占用了tcp端口,花费几天时间排查。
客户端禁用Keep-Alive, 服务端开启Keep-Alive,会怎么样?