POST请求 、响应、requests库高级用法

news2025/5/12 15:13:58

常见请求方式POST请求

代码如下

import requests

data = {'name':'germey','age':'25'}
r = requests.post("https://www.httpbin.org/post",data=data)
print(r.text)

如果请求方式为POST方式,运行结果如下:

{
  "args": {}, 
  "data": "", 
  "files": {}, 
  "form": {
    "age": "25", 
    "name": "germey"
  }, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Content-Length": "18", 
    "Content-Type": "application/x-www-form-urlencoded", 
    "Host": "www.httpbin.org", 
    "User-Agent": "python-requests/2.32.3",
    "X-Amzn-Trace-Id": "Root=1-6820767b-7088eb304220c10a777f20b6"
  },
  "json": null,
  "origin": "183.250.210.159",
  "url": "https://www.httpbin.org/post"
}

from部分为提交的数据,证明POST请求成功发送了

发送请求后会得到响应,实列如下

import requests

r = requests.get('https://ssr1.scrape.center/')
print(type(r.status_code),r.status_code)
print(type(r.headers),r.headers)
print(type(r.cookies),r.cookies)
print(type(r.url),r.url)
print(type(r.history),r.history)

这里通过status_code属性得到状态码、通过headers属性得到响应头、通过cookies属性得到Cookie、通过url属性得到URL、通过history属性得到请求历史,打印结果如下

<class 'int'> 200
<class 'requests.structures.CaseInsensitiveDict'> {'Content-Type': 'text/html; charset=utf-8', 'X-Frame-Options': 'DENY', 'X-Content-Type-Options': 'nosniff', 'Expires': 'Sun, 11 May 2025 10:15:12 GMT', 'Strict-Transport-Security': 'max-age=15724800; includeSubDomains', 'Server': 'TencentEdgeOne', 'Cache-Control': 'max-age=600', 'Content-Length': '41667', 'Connection': 'keep-alive', 'Date': 'Sun, 11 May 2025 10:11:29 GMT', 'EO-LOG-UUID': '13904436365551972615', 'EO-Cache-Status': 'MISS'}
<class 'requests.cookies.RequestsCookieJar'> <RequestsCookieJar[]>
<class 'str'> https://ssr1.scrape.center/
<class 'list'> []

headers和cookies这两个属性得到的结果分别是CaseInsensitiveDict和RequestsCookieJar对象

状态码则表示响应状态,可以通过这个数字判断数据是否获取成功

requests库还提供了一个内置的状态码查询对象requests.codes,用法如下

import requests

r = requests.get('https://ssr1.scrape.center/')
exit() if not r.status_code ==  requests.codes.ok else print('请求成功')

通过比较返回码和内置的表示成功的状态码,来保证请求是否得到了正常响应,如果是,就是输出请求成功的消息,否则程序终止运行,这里用requests.code.ok得到的成功状态码是200.

文件上传

import requests
files = {'file':open('favicon.ico','rb')}   #favicon.ico 是文件名
r = requests.post('https///www.httpbin.org/post',files=files)
print(r.text)

文件需要和当前脚本保存在同一目录下,需要上传其他文件也只需要更改下代码即可

Cookie设置

获取Cookie实例

import requests

r = requests.get('https://www.baidu.com')
print(r.cookies)
for key,value in r.cookies.items():
    print(key + '=' + value)

结果如下

<RequestsCookieJar[<Cookie BDORZ=27315 for .baidu.com/>]>
BDORZ=27315

这里我们首先调用cookies属性,成功得到Cookie,可以发现它属于RequestCookie]ar 类型。然后调用items 方法将 Cookie 转化为由元组组成的列表,遍历输出每一个Cookie 条目的名称和值,实现对 Cookie 的遍历解析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2374022.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【统计以空格隔开的字符串数量】2021-11-26

缘由一提标准的大一oj提木-编程语言-CSDN问答 void 统计以空格隔开的字符串数量() {//缘由https://ask.csdn.net/questions/7580109?spm1005.2025.3001.5141int n 0, x 0, g 0, k 1;string s "";cin >> n;getchar();while (n--){getline(cin, s);while …

OSCP备战-kioptrixvm3详细解法

探测IP arp-scan -l 得出目标IP&#xff1a;192.168.155.165 也可以使用 netdiscover -i eth0 -r 192.168.155.0/24 也可以使用 nmap -sN 192.168.155.0/24 --min-rate 1000 修改hosts文件 找到IP后&#xff0c;通过之前读取README.txt了解到&#xff0c;我们需要编辑host…

《从零构建大模型》PDF下载(中文版、英文版)

内容简介 本书是关于如何从零开始构建大模型的指南&#xff0c;由畅销书作家塞巴斯蒂安• 拉施卡撰写&#xff0c;通过清晰的文字、图表和实例&#xff0c;逐步指导读者创建自己的大模型。在本书中&#xff0c;读者将学习如何规划和编写大模型的各个组成部分、为大模型训练准备…

大数据应用开发和项目实战-电商双11美妆数据分析

数据初步了解 &#xff08;head出现&#xff0c;意味着只出现前5行&#xff0c;如果只出现后面几行就是tail&#xff09; info shape describe 数据清洗 重复值处理 这个重复值是否去掉要看实际情况&#xff0c;比如说&#xff1a;昨天卖了5瓶七喜&#xff0c;今天卖了5瓶七…

招行数字金融挑战赛数据分析赛带赛题二

赛题描述&#xff1a;根据提供的脱敏资讯新闻数据&#xff0c;选手需要对提供的训练集进行特征工程&#xff0c;构建资讯分类模型&#xff0c;对与测试集进行准确的新闻分类。 最终得分&#xff1a;0.8120。十二点关榜没看到排名&#xff0c;估算100&#xff1f; 训练集很小&am…

卡尔曼滤波算法(C语言)

此处感谢华南虎和互联网的众多大佬的无偿分享。 入门常识 先简单了解以下概念&#xff1a;叠加性&#xff0c;齐次性。 用大白话讲&#xff0c;叠加性&#xff1a;多个输入对输出有影响。齐次性&#xff1a;输入放大多少倍&#xff0c;输出也跟着放大多少倍 卡尔曼滤波符合这…

ENSP-OSPF综合实验

AR4中通过ospf获取的其他区域路由信息&#xff0c;并且通过路由汇总后简化路由信息 实现全网通&#xff0c;以及单向重发布&#xff0c;以及通过缺省双向访问&#xff0c; 通过stub简化过滤四类五类lsa&#xff0c;简化ospf路由信息 通过nssa简化ospf信息 区域汇总简化R4路由信…

电池单元和电极性能

电芯设计中的挑战 对于电池制造商来说&#xff0c;提高电池能量和功率密度至关重要。在高功率密度和长循环寿命之间取得平衡是电池设计中的关键挑战&#xff0c;通常需要仔细优化材料、电极结构和热管理系统。另一个关键挑战是通过优化重量体积比来降低电池单元的总体成本。 工…

软件设计师-错题笔记-软件工程基础知识

1. 解析&#xff1a; A&#xff1a;体系结构设计是概要设计的重要内容&#xff0c;它关注系统整体的架构&#xff0c;包括系统由哪些子系统组成、子系统之间的关系等 B&#xff1a;数据库设计在概要设计阶段会涉及数据库的逻辑结构设计等内容&#xff0c;如确定数据库的表结…

销售管理系统使用全攻略:从基础配置到数据分析

如果你是一名刚接手公司销售管理系统的销售经理&#xff0c;你会深刻体会到一个好工具的重要性。如果老板突然要查看季度销售数据时&#xff0c;就不用手忙脚乱地翻找各种Excel表格。 今天就来分享我的经验&#xff0c;希望能帮助到同样需要快速上手的朋友。 系统基础配置指南 …

PowerShell 脚本中文乱码处理

问题描述 脚本带中文&#xff0c;执行时命令行窗口会显示出乱码 示例 Write-Host "测试成功&#xff01;"解决方法 问了DeepSeek&#xff0c;让确认是不是 UTF8 无 BOM 格式 事实证明方向对了 但是确认信息有偏差 改成 UTF8 with BOM 使用任意支持修改编码的文本…

前端性能指标及优化策略——从加载、渲染和交互阶段分别解读详解并以Webpack+Vue项目为例进行解读

按照加载阶段、渲染阶段和交互阶段三个维度进行系统性阐述&#xff1a; 在现代 Web 开发中&#xff0c;性能不再是锦上添花&#xff0c;而是决定用户体验与业务成败的关键因素。为了全面监控与优化网页性能&#xff0c;我们可以将性能指标划分为加载阶段、渲染阶段、和交互阶段…

RDD实现单词计数

Scala&#xff08;Spark Shell&#xff09;方法 如果你在 spark-shell&#xff08;Scala 环境&#xff09;中运行&#xff1a; 1. 启动 Spark Shell spark-shell &#xff08;确保 Spark 已安装&#xff0c;PATH 配置正确&#xff09; 2. 执行单词统计 // 1. 读取文件&am…

Java快速上手之实验七

1&#xff0e;编写鼠标事件响应程序MouseEventDemo.java&#xff0c;当鼠标进入和离开窗口时给出相应显示&#xff0c;当按下、弹起时显示当前鼠标的坐标值。 2&#xff0e;编写鼠标事件响应程序MouseMotionEventDemo.java&#xff0c;当鼠标在窗口内移动时显示鼠标的坐标值。 …

可视化图解算法36: 序列化二叉树-I(二叉树序列化与反序列化)

1. 题目 描述 请实现两个函数&#xff0c;分别用来序列化和反序列化二叉树&#xff0c;不对序列化之后的字符串进行约束&#xff0c;但要求能够根据序列化之后的字符串重新构造出一棵与原二叉树相同的树。 二叉树的序列化(Serialize)是指&#xff1a;把一棵二叉树按照某种遍…

Vivado FPGA 开发 | 创建工程 / 仿真 / 烧录

注&#xff1a;本文为 “Vivado FPGA 开发 | 创建工程 / 仿真 / 烧录” 相关文章合辑。 略作重排&#xff0c;未整理去重。 如有内容异常&#xff0c;请看原文。 Vivado 开发流程&#xff08;手把手教学实例&#xff09;&#xff08;FPGA&#xff09; 不完美先生 于 2018-04-…

Javascript:数组和函数

数组 创建数组 使用new创建 let arrnew array(数组大小); 直接赋值创建 let Arr2[];let Arr3[1,A,"HELLLO"]; 这里JS的数组里面的元素属性可以各不相同 演示代码 <script>let Arr1new Array(5);let Arr2[];let Arr3[1,A,"HELLLO"];console.…

无锁秒杀系统设计:基于Java的高效实现

引言 在电商促销活动中&#xff0c;秒杀场景是非常常见的。为了确保高并发下的数据一致性、性能以及用户体验&#xff0c;本文将介绍几种不依赖 Redis 实现的无锁秒杀方案&#xff0c;并提供简化后的 Java 代码示例和架构图。 一、基于数据库乐观锁机制 ✅ 实现思路&#xf…

NCCL N卡通信机制

转自我的博客&#xff1a;https://shar-pen.github.io/2025/05/05/torch-distributed-series/nccl_communication/ from IPython.display import Image import logging import torch import torch.distributed as distpytorch 分布式相关api torch.distributed.init_process_…

Alpha3DCS公差分析系统_国产替代的3D精度管控方案-SNK施努卡

随着智能制造发展规划的深入推进&#xff0c;工业软件国产化替代已上升为国家战略。在公差分析这一细分领域&#xff0c;长期被国外软件垄断的局面正被打破。 苏州施努卡自主研发的Alpha3DCS&#xff0c;凭借完全自主知识产权和军工级安全标准&#xff0c;成为国内实现三维公差…