【Python技巧】【爬虫】请求头格式代表要传入的数据格式、requests.post方法中的data和json的区别

news/2024/7/19 9:50:43 标签: python, 爬虫

在请求中,header中有一项属性为数据传输类型:Content-Type 。在我们发送请求的时候,针对不同的传输数据类型,我们需要传入不同的参数

1. 当请求头的数据格式为application/x-www-form-urlencoded

当请求数据格式为表单的时候,我们的请求数据为字典,不能进行转换,传输的格式转换为键值对并按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码。

2. 当请求头的数据格式为Content-Type: application/json

表明我们要传入的参数是序列化后的 JSON 字符串。然而在python中,我们的参数往往写成以下格式:

json_data = {
    'attitude': [],
    'Range': '',
    'Type': [],
    'VideoType': [],
    'Channel': [],
    'Column': [],
    }

data就是我们要传的参数,python中是以字典的形式存在的,数据类型就是字典,但是传入的数据要求是json格式的字符串,因此传入的时候需要转换。

(1) 通过json.dumps将json_data数据转化成json格式

将我们传入的json_data参数通过json.dumps转换后就变成了json格式的字符串,如下:

python">import json
json_data = {
    'attitude': [],
    'Range': '',
    'Type': [],
    'VideoType': [],
    'Channel': [],
    'Column': [],
    }
data_json=json.dumps(data)
data=json.dumps(data_json)
re = requests.post(url=url, data=data,headers={
     "Content-Type":"application/json;charset=UTF-8"
    })

(2)json_data数据不做json.dumps转换处理时,用post函数的json参数

在data数据不做处理的时候,post请求头必须用json参数

python">import requests,json
url = 'http://172.243.25.8'
json_data = {
    'attitude': [],
    'Range': '',
    'Type': [],
    'VideoType': [],
    'Channel': [],
    'Column': [],
    }
re = requests.post(url=url, json=data)

http://www.niftyadmin.cn/n/81266.html

相关文章

Yield Guild Games:社区更新——2022 年第四季度

在这篇文章中,Yield Guild Games(YGG)分享了 2022 年第 4 季度社区更新的主要内容,包括公会发展计划(GAP)的最新细节,公会在电竞领域的持续发展,最新的合作伙伴关系,以及…

Android11屏蔽长按设置应用弹出菜单的选项

Android11系统桌面长按设置应用图标,会弹出菜单选项,里面包含有一些设置相关的快捷设置选项。如下图: 现在需要将上面图中的电池选项屏蔽掉不显示。 Android 11的应用中,一些应用在AndroidManifest.xml中会配置相关的长按时弹出的菜单选项列表。这个列表配置为meta-data标签…

第十三届蓝桥杯国赛 C++ C 组 Java A 组 C 组 Python C 组 E 题——斐波那契数组(三语言代码AC)

目录1.斐波那契数组1.题目描述2.输入格式3.输出格式4.样例输入5.样例输出6.数据范围7.原题链接2.解题思路3.Ac_code1.Java2.C3.Python1.斐波那契数组 1.题目描述 如果数组 A(a0,a1,⋯.an−1)A(a_0,a_1,⋯.a_{n-1})A(a0​,a1​,⋯.an−1​)满足以下条件, 就说它是一个斐波那契…

[Spring] 难理解的Aop编程 |入门?

作者:狮子也疯狂 专栏:《spring开发》 坚持做好每一步,幸运之神自然会驾凌在你的身上 目录一. 🦁 前言二. 🦁 常见概念2.1 常见术语2.2 AOP入门Ⅰ. 🐇 功能场景Ⅱ. 🐇 实现过程2.3 通知类型Ⅰ.…

【python】数据分析案例

目录 一、项目内容: 第一步:获取评论数据 第二步:词频统计并可视化展示 第三步:绘制词云 二、项目实现: 第一步:获取评论数据 (1)导入python库 (2)获…

海面微波散射(CSDN_0012_20221029)

文章编号:CSDN_0012_20221029_braag反射 使用雷达对海洋场景进行观测时,海水的节点性质会影响雷达波的穿透深度。在SAR常使用的波段上,雷达波的能量衰减值海水表面处能量的1/e时,海水穿透深度仅为0.1mm~10cm(怎…

Redis面试题最新最全汇总,万字长文

1、什么是 Redis?简述它的优缺点? Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,很像 memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操…

AD使用教程 图文并茂 AD2020

文章目录设计流程图:资源下载:自定义快捷键:(按照个人习惯)默认快捷键:一、软件主页面1.主界面2.Panels面板3.系统设置3.自定义快捷键4.新建工程二、原理图库1.原理图库面板2.管脚属性三、原理图绘制绘制步…