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"
}

相关文章
|
存储 JSON 数据格式
Pandas处理JSON文件to_json()一文详解+实例代码
Pandas处理JSON文件to_json()一文详解+实例代码
2411 0
Pandas处理JSON文件to_json()一文详解+实例代码
全网首发:gstreamer如何接入RTSP流(IP摄像头)的代码范例
全网首发:gstreamer如何接入RTSP流(IP摄像头)的代码范例
999 0
|
4月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
516 13
|
存储 文件存储 数据库
对象存储、块存储、文件存储他们都有什么不通的作用?
对象存储、块存储、文件存储他们都有什么不通的作用?
2625 2
|
数据库 开发者 Python
Django ORM入门指南:从概念到实践,掌握模型创建、迁移与视图操作
Django ORM入门指南:从概念到实践,掌握模型创建、迁移与视图操作
|
移动开发 安全 测试技术
『App自动化测试之Appium应用篇』| 继承于selenium常用的元素定位方法有哪些?如何使用?
『App自动化测试之Appium应用篇』| 继承于selenium常用的元素定位方法有哪些?如何使用?
644 0
|
SQL 关系型数据库 MySQL
SQLAlchemy使用指南
**SQLAlchemy 指南**:Python SQL 工具包,提供数据库高级抽象。安装:`pip install sqlalchemy`,加上数据库驱动(如 MySQL: `pip install mysql-connector-python`)。基础使用包括:创建数据库连接、定义模型、创建表、添加/查询/更新/删除数据。高级功能涉及关系映射、原生 SQL 语句及 SQLAlchemy Core。推荐阅读官方文档以深入了解。
1121 1
|
Shell Linux 开发工具
Anaconda安装后报错 -bash: conda: command not found 如何处理
【6月更文挑战第26天】Anaconda安装后报错 -bash: conda: command not found 如何处理
4571 4
|
安全 Java 数据库连接
在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
3550 6