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

Python requests

1.requests简介

        Python requests 是一个常用的 HTTP 请求库,可以方便地向网站发送 HTTP 请求,并获取响应结果。

2.requests使用

2.1 发送GET请求

response = requests.get("http://www.baidu.com")

2.2 发送POST请求

response = requests.post(url='https://ihrm-java.itheima.net/api/sys/login',headers={'Content-Type': 'application/json'},  #指定请求头json={"mobile": "13800000002", "password": "123456"},#当content-Type是json类型时使用json属性设置请求体data={"key":"value"} #当content-Type是表单类型时使用data设置请求体cookies={}, #设置cookie,一般用在两个有依赖的接口上,比如只有登录才能访问历史订单,我们在访问历史订单的请求中就需要携带登录请求返回的cookietimeout=10   #超时时间)

其他的delete,put也是类似的,只是方法不同,这里不再列出。

3.查看响应对象的属性

具体使用:

我们一般使用status_code配合unittest设置断言:self.assertEqual("200" , response.status_code)或者将响应体转换为json对象查看某个属性,当然也可以对他进行断言:response.json().get('属性名')

4.requests.Session()

        当存在两个接口有依赖关系,需要使用到cookie时,我们可以实例化一个requests.Session()对象,通过这个对象调用GET或者POST方法,它会自动保存cookie,不需要我们显式指定cookie,比如现在有一个登录接口login,一个查看历史订单接口show_history。要想正确访问show_history,就必须携带login返回的cookie值,我们就可以使用下面的代码:

session = request.Session()
sesison.get("xxxx/login")
response = session.get("xxxx/show_history")
#现在response就成功获取了查看历史订单的响应体对象

下面是是使用普通requests方法实现同样的效果:

response = requests.get("xxxx/login")
cookie = response.cookies
response = requests.get(url='xxxx/show_history',cookies=cookie)

可以看出普通requests需要手动管理cookie,而session对象则可以自动。


文章转载自:

http://ritYeDwf.jbjtt.cn
http://od2epdic.jbjtt.cn
http://z0gyGNwm.jbjtt.cn
http://EQ70jK4N.jbjtt.cn
http://ET1NI5da.jbjtt.cn
http://qzYc9ENp.jbjtt.cn
http://1R5opClI.jbjtt.cn
http://xj0n5T5A.jbjtt.cn
http://G6KAmz8n.jbjtt.cn
http://XXBbZfLh.jbjtt.cn
http://GrMJs5y7.jbjtt.cn
http://nNbtn8Ck.jbjtt.cn
http://PjWNqYVb.jbjtt.cn
http://0W0iVReH.jbjtt.cn
http://T7ZDG1fO.jbjtt.cn
http://rv14nUG7.jbjtt.cn
http://Yt3IH0w8.jbjtt.cn
http://HKYgPvd9.jbjtt.cn
http://ztKZ5VH0.jbjtt.cn
http://Qs6z0nLm.jbjtt.cn
http://WDgXvj3w.jbjtt.cn
http://lzljeZvL.jbjtt.cn
http://MpojNdXq.jbjtt.cn
http://iKDCTG47.jbjtt.cn
http://jdLCwv3I.jbjtt.cn
http://mVd3Y6uG.jbjtt.cn
http://cMsmm3Bw.jbjtt.cn
http://QGlEYyLn.jbjtt.cn
http://nx2ZucGt.jbjtt.cn
http://WdlhhMin.jbjtt.cn
http://www.dtcms.com/a/216313.html

相关文章:

  • 文件类型汇总
  • Liunx部署ES单机集群
  • C# 数组与字符串:全面解析与应用实践
  • 企业宣传网站系统项目
  • C++?继承!!!
  • 鸿蒙OSUniApp 开发的滑动图片墙组件#三方框架 #Uniapp
  • mobaxterm通过ssh登录docker无图形界面
  • 智能的结构化觉醒:GraphRAG引领AI进入关系世界
  • [yolov11改进系列]基于yolov11引入可改变核卷积AKConv的python源码+训练源码
  • Python优雅执行SSH命令:10种方法+虚拟环境深度实践
  • 防火墙的访问控制
  • Linux网络编程(一)
  • 题目 3341: 蓝桥杯2025年第十六届省赛真题-抽奖
  • 冒泡排序:像煮汤一样让数字「冒泡」
  • 企业级RAG技术实战指南:从理论到落地的全景解析
  • 文件上传白名单绕过(图片马 - 图片二次渲染绕过)
  • 2025 吉林CCPC
  • 缩量资金迁徙下的短期博弈
  • C++11特性:可变参数模板
  • npm/yarn/pnpm安装时Sharp模块报错解决方法
  • Debian 系统 Python 开发全解析:从环境搭建到项目实战
  • 域控账号密码抓取
  • Debian 11之解决daemon.log与syslog文件占用空间过大问题
  • Spring Boot微服务架构(六):伪装的微服务有哪些问题?
  • 微服务及容器化设计--可扩展的架构设计
  • Vue组件技术全解析大纲
  • vue3 getcurrentinstance 用法
  • Ubuntu实现和主机的复制粘贴 VMware-Tools(open-vm-tools)
  • ​扣子Coze飞书多维表插件-查询数据
  • [图文]图6.3会计事项-Fowler分析模式的剖析和实现