当前位置:网站首页>How to submit data through post
How to submit data through post
2022-07-06 17:38:00 【Wzzzzzzx】
When it comes to uploading data , We will naturally say Json/XML
, But these are data formats . But the way of data uploading has been ignored by me all the time . The current understanding is , Four common schemes are commonly used to encode local data , adopt Content-Type
To specify the data upload method , At the same time through Content-Length
To specify the data length .
application/x-www-form-urlencoded
This should be the most common way to submit . In native forms From
, If not set enctype
attribute , This scheme will be adopted by default to upload data . Its HTTP
The requested information is as follows :
POST http://www.example.com HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
titile=%E6%B5%8B%E8%AF%95&body=%E6%B5%8B%E8%AF%95
It can be seen that ,Body
Part of the data goes through URL
After transcoding , With key1=val1&key2=val2
In the form of . In many cases , This is all Post
Default submission method , But because it uses three characters to represent a Non-ASCII
character , So the efficiency is relatively low .
multipart/form-data
Form enctype
Attribute currently has two attribute values , One default is application/x-www-form-urlencoded
, The other way is multipart/form-data
了 . This sending method is designed to support sending binary data to the server . Its HTTP
The requested information is as follows :
POST http://www.example.com HTTP/1.1
Content-Type:multipart/form-data; boundary=aHR0cDovL3d3dy5leGFtcGxlLmNvbQ
--aHR0cDovL3d3dy5leGFtcGxlLmNvbQ
Content-Disposition: form-data; name="city"
Test
--aHR0cDovL3d3dy5leGFtcGxlLmNvbQ
Content-Disposition: form-data; name="file"; filename="test.png"
Content-Type: image/png
Content-Transfer-Encoding: binary
PNG ... content of test.png ...
--aHR0cDovL3d3dy5leGFtcGxlLmNvbQ--
As you can see from the above example , The format of this sending method includes multiple Part
, Every Part
Use randomly generated --boundary
To segment , The last line uses --boundary--
ending . Every Part
Must contain a Content-Disposition
Field , This field contains a type
and name
Parameters of , If there are files uploaded , We need another one filename
Parameters of , among type
The value is form-data
. Here you can also see the sending pictures Part
It also uses Content-Type
, If it can be the type of binary file when sending , Then the corresponding type value will be filled , If you can't recognize it , Will adopt application/octet-stream
As type value , If multiple documents are summarized into one form item , Will use multipart/mixed
As attribute value . At the same time , If Part
The content of is the same as the default encoding
In a different way , Will have a Content-Transfer-Encoding
Property to specify the Part
Coding method of .
application/json
and text/xml
These two methods can be seen from the name of its transmission content , Not much .
Reference resources
https://imququ.com/post/four-ways-to-post-data-in-http.html
https://www.jianshu.com/p/29e38bcc8a1d
边栏推荐
- Openharmony developer documentation open source project
- Xin'an Second Edition: Chapter 23 cloud computing security requirements analysis and security protection engineering learning notes
- 基于Infragistics.Document.Excel导出表格的类
- How uipath determines that an object is null
- Grafana 9 is officially released, which is easier to use and more cool!
- The solution to the left-right sliding conflict caused by nesting Baidu MapView in the fragment of viewpager
- 当前系统缺少NTFS格式转换器(convert.exe)
- [reverse] repair IAT and close ASLR after shelling
- mysql的列的数据类型详解
- Start job: operation returned an invalid status code 'badrequst' or 'forbidden‘
猜你喜欢
Pyspark operator processing spatial data full parsing (5): how to use spatial operation interface in pyspark
Distributed (consistency protocol) leader election (dotnext.net.cluster implements raft election)
C version selenium operation chrome full screen mode display (F11)
基于LNMP部署flask项目
04 products and promotion developed by individuals - data push tool
信息与网络安全期末复习(完整版)
Deploy flask project based on LNMP
Chrome prompts the solution of "your company management" (the startup page is bound to the company's official website and cannot be modified)
[reverse primary] Unique
全网最全tcpdump和Wireshark抓包实践
随机推荐
Development and practice of lightweight planning service tools
Chrome prompts the solution of "your company management" (the startup page is bound to the company's official website and cannot be modified)
复盘网鼎杯Re-Signal Writeup
Huawei certified cloud computing hica
Junit单元测试
Wu Jun trilogy insight (IV) everyone's wisdom
TCP connection is more than communicating with TCP protocol
【MySQL入门】第一话 · 初入“数据库”大陆
The solution to the left-right sliding conflict caused by nesting Baidu MapView in the fragment of viewpager
The problem of "syntax error" when uipath executes insert statement is solved
[ASM] introduction and use of bytecode operation classwriter class
基于Infragistics.Document.Excel导出表格的类
JVM 垃圾回收器之Serial SerialOld ParNew
自动答题 之 Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
Learn the wisdom of investment Masters
07 personal R & D products and promotion - human resources information management system
C#版Selenium操作Chrome全屏模式显示(F11)
Vscode replaces commas, or specific characters with newlines
Interpretation of Flink source code (I): Interpretation of streamgraph source code
pip install pyodbc : ERROR: Command errored out with exit status 1