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" }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)