当前位置: 首页 > news >正文

requests 实践

Requests 常用参数

method: 请求方式 get,或者 post,put,delete 等
url : 请求的 url 地址 接口文档标注的接口请求地址
params:请求数据中的链接,常见的一个 get 请求,请求参数都是在 url 地址中
data :请求数据,参数 表单的数据格式
json: 接口常见的数据请求格式
headers:请求头信息,http 请求中,比如说编码方式,token等内容添加
cookie:保存的用户登录信息,比如做一些充值功能,但是需要用户已经登录,需要 cookie 信息的请求信息传输
file:接口中上传文件
timeout :超时处理 proxys 设置代理
stream :文件下载功能,通过请求方式,下载文件

Requests 响应内容

r.encoding #获取当前的编码
r.encoding = ‘utf-8’ #设置编码
r.text #以encoding解析返回内容。字符串方式的响应体,会自动根据响应头部的字符编码进行解码。
r.cookies #返回cookie
r.headers #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
r.status_code #响应状态码
r.json() #Requests中内置的JSON解码器,以json形式返回,前提返回的内容确保是json格式的,不然解析出错会抛异常
r.content #以字节形式(二进制)返回。字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩。

Post 请求

# 导入requests包
import requestsurl = "http://localhost:65375/Login/Demo"
mydata = {"BanJName": str(vido_me), "NianJiBH": "112", "BianHao": "11", "ZuZhi": "123"}  # 字典格式,推荐使用,它会自动帮你按照k-v拼接url
res = requests.post(url=url, data=mydata)print('url:', res.request.body)  # 查看发送的url
print("response:", res.text)  # 返回请求结果

Get 请求

# 导入requests包
import requestsurl = "http://www.tuling123.com/openapi/api"
myParams = {"key":"username","info":"plusroax"} # 字典格式,推荐使用,它会自动帮你按照k-v拼接url
res = requests.get(url=url, params=myParams)print('url:',res.request.url)# 查看发送的url
print("response:",res.text)  # 返回请求结果

Https 请求

当协议是 https 的协议的时候,有些系统,需要校验 https 证书,如果校验失败,可能会有警告提示等信息。

import requests 
url="https://www.ctrip.com/" 
# 解决方案 
# 发送请求时候忽略证书,证书的参数 verify-用的比较多 
r=requests.get(url=url,verify=False) #verify 参数默认为 True,值为 False 表示忽略证书 
print (r.text) 
#第二种解决方案,verify 里面添加证书的路径 
r=requests.get(url=url,verify='证书的路径') 
print (r.text)

上传文件

import requestsurl = 'https://127.0.0.1:8000/UploadPhoto'  
#filename 为 liang.jpg 文件
#open('D:\\test_data\\liang.jpg','rb') 打开本地的一个文件 
files = {'file':open('D:\\test_data\\liang.jpg','rb')}
r=requests.post(url=url,files=files,verify=False) 
print (r.text)

Requests 中 timeout 参数

1、python 的requests请求都可以使用timeout参数。
2、timeout参数可以传入一个简单的浮点数,它将请求的连接部分和读取部分设为相同的超时时间。
3、timeout参数也可以传入一个包含两个简单浮点数的元组,用来分别设置请求超时时间和读取超时时间。
4、参数值设为None或者不设置该参数为一直等待,知道请求成功或错误

url = "http://127.0.0.1:66753/login"
# 表单数据格式,参数 data ,数据都是字典去保存
data = {"username": "liang001", "password": "123456"}
r_login = requests.post(url=url, json=data, timeout=0.5)
print(r_login.text)

访问需要登录的界面

# 导入requests包
import requestsheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0'
}
session = requests.session()
# 1.代码登录
login_url = url
login_form_data = {'UserName': name, # 登录用户名'PassWord': pwd,  # 登录密码}
login_resopnse = session.post(login_url, data=login_form_data, headers=headers)
# 2.登录成功后,带着有效的cookie访问member_url
files = {'file': open(r'路径', 'rb')}
member_url = 'url'
member_data = session.post(member_url, headers=headers, files=files)print(member_data.text)

参考:
https://blog.csdn.net/qq_53193143/article/details/128240019

相关文章:

requests 实践

Requests 常用参数 method: 请求方式 get,或者 post,put,delete 等 url : 请求的 url 地址 接口文档标注的接口请求地址 params:请求数据中的链接,常见的一个 get 请求,请求参数都是在 url 地址…...

UI设计公司成长日记2:修身及持之以恒不断学习是要务

作者:蓝蓝设计 要做一个好的UI设计公司,不仅要在能力上设计能力一直(十几年几十年)保持优秀稳定的保持输出,以及心态的平和宽广。创始人对做公司要有信心,合伙人之间要同甘共苦,遵守规则,做好表…...

辅助驾驶功能开发-功能规范篇(23)-2-Mobileye NOP功能规范

5.2 状态机要求 5.2.1 NOP/HWP 状态机 NOP/HWP状态机如下所示: 下表总结了这些状态: 状态描述Passive不满足功能条件,功能无法控制车辆执行器。Standby满足功能条件。该功能不是由驾驶员激活的。功能不控制车辆执行器。Active - Main功能由驾驶员激活。功能是控制…...

React中如何提高组件的渲染效率

一、是什么 react 基于虚拟 DOM 和高效 Diff算法的完美配合,实现了对 DOM最小粒度的更新,大多数情况下,React对 DOM的渲染效率足以我们的业务日常 复杂业务场景下,性能问题依然会困扰我们。此时需要采取一些措施来提升运行性能&…...

springboot+mybatis3.5.2动态查询某一字段在某一段时间内的统计信息(折线图)

需求: 动态查询某一统计字段在一段时间内的统计折线图信息 controller层 ApiOperation(value "getStatisticDetail", notes "统计折线图")GetMapping("/detail")ResponseStatus(HttpStatus.OK)AccessLogAnnotation(ignoreRequestA…...

关于本地项目上传到gitee的详细流程

如何上传本地项目到Gitee的流程: 1.Gitee创建项目 2. 进入所在文件夹,右键点击Git Bash Here 3.配置用户名和邮箱 在gitee的官网找到命令,注意这里的用户名和邮箱一定要和你本地的Git相匹配,否则会出现问题。 解决方法如下&…...

MarkDown详细入门笔记

本帖整理了MarkDown的入门学习笔记~ 一.介绍 Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用。 诸如微信公众平台、CSDN博客、还有Typora中写文档的部分,均涉及到MD的功能~ 它…...

算法——贪心算法

贪心算法(Greedy Algorithm)是一种算法设计策略,通常用于解决组合优化问题,其核心思想是在每一步都选择当前状态下最优的解,而不考虑之后的步骤。贪心算法在每一步都做出局部最优选择,期望通过一系列局部最…...

102.linux5.15.198 编译 firefly-rk3399(1)

1. 平台: rk3399 firefly 2g16g 2. 内核:linux5.15.136 (从内核镜像网站下载) 3. 交叉编译工具 gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 4. 宿主机:ubuntu18.04 5. 需要的素材和资料&#xff…...

易点易动固定资产管理系统:多种盘点方式助力年终固定资产盘点

年末固定资产盘点是企业管理中一项重要而繁琐的任务。为了帮助企业高效完成年终固定资产盘点工作,易点易动固定资产管理系统提供了多种盘点方式。本文将详细介绍易点易动固定资产管理系统的多种盘点方式,展示如何借助该系统轻松完成年终固定资产盘点&…...

C# Winform编程(10)Chart图表控件

Chart控件 Chart控件Chart属性详述Chart属性设置图表样式属性数据样式属性图例样式图标区样式SeriesChartType类型 Chart控件鼠标滚轮事件特殊处理Series绑定数据演示代码鼠标滚轮缩放图表示例参考引用 Chart控件 Chart控件是微软自带的一种图形可视化组件,使用简单…...

群狼调研(长沙产品概念测试)|如何做新品上市满意度调研

新品上市满意度调研是一种重要的市场研究方法,它通过收集和分析消费者对新产品的态度、购买意愿和满意度等方面的数据,帮助企业了解消费者的需求和期望,发现新产品的问题和不足,从而为产品改进提供有力的数据支持。群狼调研&#…...

Lua与C++交互

文章目录 1、Lua和C交互2、基础练习2.1、加载Lua脚本并传递参数2.2、加载脚本到stable(包)2.3、Lua调用c语言接口2.4、Lua实现面向对象2.5、向脚本中注册c的类 1、Lua和C交互 1、lua和c交互机制是基于一个虚拟栈,C和lua之间的所有数据交互都通…...

Ubuntu安装pyenv,配置虚拟环境

文章目录 安装pyenvpyenv创建虚拟环境一般情况下创建虚拟环境的方法 安装pyenv 摘自:文章 pyenv可以管理不同的python版本 1、安装pyenv的依赖库 # 执行以下命令安装依赖库 # 更新源 sudo apt-get update # 更新软件 sudo apt-get upgradesudo apt-get install ma…...

【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步

MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步 前提介绍MySQL和ElasticSearch的同步双写优点缺点针对于缺点补充优化方案 MySQL和ElasticSearch的异步双写优点缺点 定时延时写入ElasticSearch数据库机制优点缺点 开源和成熟的数据迁移工具选型Logsta…...

什么是React中的高阶组件(Higher Order Component,HOC)?它的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…...

NEFU离散数学实验3-递推方程

相关概念 递推方程是指一种递归定义,它将问题拆分成更小的子问题,并使用这些子问题的解来计算原问题的解。离散数学中,递推方程通常用于描述数列、组合问题等。 以下是一些递推方程相关的概念和公式: 1. 递推公式:递推…...

如何为你的地图数据设置地图样式?

地图样式设置是GIS系统中非常重要的功能模块,水经微图Web版本最近对符号样式功能模块进行了升级。 你可以通过以下网址直接打开访问: https://map.wemapgis.com 现在我们为大家分享一下水经微图Web版中,如何为你标注的地图数据设置地图样式…...

解决visual studio Just-In-Time Debugger调试

解决visual studio Just-In-Time Debugger调试 网上流行很多方法,最后一直不行,其实有最简单的方法比较实用 方法一:把 C:\WINDOWS\system32\vsjitdebugger.exe,删除了,若怕出问题,可以把它改名或者做个rar文件暂时保留…...

Uservue 中 keep-alive 组件的作用

目录 前言 用法 代码 理解 keep-alive 是 Vue.js 中一个内置的组件,它能够将不活动的组件实例保存在内存中,防止其被销毁,以便在后续需要时能够快速重新渲染。这个功能在一些需要频繁切换但不希望每次都重新渲染的场景中非常有用&#xf…...

微软DebugMCP:可视化调试MCP协议,解决AI与工具通信黑盒问题

1. 项目概述:当你的AI助手开始“自言自语”,你需要一个调试器 最近在折腾AI应用开发的朋友,估计没少跟各种“智能体”打交道。无论是基于OpenAI的GPTs,还是那些能联网、能调用工具的自定义助手,它们背后的核心通信协议…...

如何用applera1n免费绕过iOS激活锁:完整指南与操作教程

如何用applera1n免费绕过iOS激活锁:完整指南与操作教程 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 你是否购买了一部二手iPhone或iPad,却发现设备被原主人的Apple ID锁定&a…...

Netgear路由器急救指南:nmrpflash如何让变砖设备重获新生

Netgear路由器急救指南:nmrpflash如何让变砖设备重获新生 【免费下载链接】nmrpflash Netgear Unbrick Utility 项目地址: https://gitcode.com/gh_mirrors/nmr/nmrpflash 当你心爱的Netgear路由器因为固件升级失败、意外断电或其他原因变成一块"砖头&q…...

终极免费方案:3步轻松解锁QQ音乐加密文件,让音乐随处可听

终极免费方案:3步轻松解锁QQ音乐加密文件,让音乐随处可听 【免费下载链接】qmcflac2mp3 直接将qmcflac文件转换成mp3文件,突破QQ音乐的格式限制 项目地址: https://gitcode.com/gh_mirrors/qm/qmcflac2mp3 你是否曾遇到过这样的情况&a…...

Wand-Enhancer:零成本解锁WeMod高级功能的完整指南

Wand-Enhancer:零成本解锁WeMod高级功能的完整指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 还在为WeMod专业版的订阅费用而犹豫不决吗…...

城通网盘高速解析终极指南:如何免费实现40倍下载提速

城通网盘高速解析终极指南:如何免费实现40倍下载提速 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 你是否厌倦了城通网盘那令人抓狂的蜗牛下载速度?每次下载大文件都要面对漫长…...

NS-USBLoader:Switch游戏管理终极指南 - 如何实现一键安装与系统引导?

NS-USBLoader:Switch游戏管理终极指南 - 如何实现一键安装与系统引导? 【免费下载链接】ns-usbloader Awoo Installer and GoldLeaf uploader of the NSPs (and other files), RCM payload injector, application for split/merge files. 项目地址: ht…...

GURU-Ai:面向开发者的AI命令行工具集,提升代码理解与运维效率

1. 项目概述:一个面向开发者的AI助手工具集最近在GitHub上看到一个挺有意思的项目,叫“Guru322/GURU-Ai”。光看名字,你可能会觉得这又是一个大而全的AI模型或者聊天机器人,但点进去仔细研究后,我发现它的定位其实非常…...

3分钟上手RePKG:轻松提取Wallpaper Engine壁纸资源的终极指南

3分钟上手RePKG:轻松提取Wallpaper Engine壁纸资源的终极指南 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 你是否曾经遇到过这样的困扰?在Wallpaper Engi…...

Python数据聚合抓取工具:从配置化引擎到实战避坑指南

1. 项目概述:一个多功能的“聚合爪”工具最近在GitHub上闲逛,发现了一个名字挺有意思的项目:al1enjesus/polyclawster。这个名字拆开看,“poly”代表多,“clawster”听起来像是“claw”(爪子)和…...