21番茄网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 21番茄网
查看: 1066|回复: 0

HTTP请求中 request payload 和 formData 区别?

[复制链接]

646

主题

799

帖子

2686

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2686
发表于 2021-4-21 09:35:00 | 显示全部楼层 |阅读模式
HTTP请求中 request payloadform Data 区别?

Form DataPayload是浏览器传输给接口的两种格式,这两种方式浏览器是通过Content-Type来进行区分的(了解Content-Type),

一般情况下:
1.如果是:application/x-www-form-urlencoded 的话,则为formdata方式;
2.如果是:application/json multipart/form-data application/x-protobuf 的话,则为 request payload的方式。

当然也不是绝对的,也见过application/json 对应 formdata 的,但比较少。

HTTP请求中 request payload 和 formData 区别?  Python爬虫精进 1
                               
登录/注册后可看大图


举例
一、使用formdata方式
比如如下使用ajax方式的提交post请求的代码(默认使用application/x-www-form-urlencoded编码):


HTTP请求中 request payload 和 formData 区别?  Python爬虫精进 093654czw8wzajjd448w4h

二、使用request payload方式:
HTTP请求中 request payload 和 formData 区别?  Python爬虫精进 094315eqfhhrwahwuruvr4

multipart/form-data


HTTP请求中 request payload 和 formData 区别?  Python爬虫精进 line2
                               
登录/注册后可看大图



HTTP请求中 request payload 和 formData 区别?  Python爬虫精进 094427yn4z6webkzlbpktl

application/json

HTTP请求中 request payload 和 formData 区别?  Python爬虫精进 line2
                               
登录/注册后可看大图


HTTP请求中 request payload 和 formData 区别?  Python爬虫精进 100135d1vw6n11rvsv48ql

application/x-protobuf

注意:

1.Protobuf,是一个二进制格式,本来就不是字符串,因此当然 Chrome 也无法正确显示。

2.和 HTTPS 没什么关系。

来自:



HTTP请求中 request payload 和 formData 区别?  Python爬虫精进 1
                               
登录/注册后可看大图


application/x-protobuf 为乱码的时候,则需要采用抓包的方式获取相关信息了。

详见:





上一篇:post请求中,要先人工登陆一次,才能获得form Data
下一篇:CSRF/XSRF概述
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|21番茄网 ( 粤ICP备10099428号 ) 奇远富

GMT+8, 2024-4-26 04:05 , Processed in 0.548375 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表