http post请求头Content-Type

java之HttpURLConnection 2020-01-12 阅读 121 评论 0

使用http post请求一个表单,Content-Type 请求头用于指示资源的MIME类型 media type。在响应中,Content-Type标头用来告诉客户端(浏览器)实际返回内容的类型。Content-Type 一般有3种常见的类型:

application/x-www-form-urlencoded

数据被编码成以 '&' 分隔的键-值对,同时以 '=' 分隔键和值。这种类型不支持二进制数据(应使用 multipart/form-data 代替)。

POST /test HTTP/1.1
Host: foo.example
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

field1=value1&field2=value2

参考:Java-HttpURLConnection实现application/x-www-form-urlencoded类型提交

multipart/form-data

每个值都作为数据块(“主体部分”)发送,并由用户代理定义的定界符(“边界”)分隔每个部分。 键在每个部分的Content-Disposition标头中给出。

boundary:boundary 是必需的,其包括来自一组字符的1到70个字符,不以空白结尾。它用于封装消息的多个部分的边界。

POST /test HTTP/1.1 
Host: foo.example
Content-Type: multipart/form-data;boundary="boundary" 

--boundary 
Content-Disposition: form-data; name="field1" 

value1 
--boundary 
Content-Disposition: form-data; name="field2"; filename="example.txt" 

value2
--boundary--

参考:Java-HttpURLConnection实现multipart/form-data类型的提交

text/plain

将要发送的json、xml、text、html等数据文本,作为字符串传入body即可。

如发送的 json 的请求格式:

POST /json HTTP/1.1
Content-Type: application/json
Host: localhost

{"id":"288285","value":"测试"}

发送xml的格式:

POST /xml HTTP/1.1
Content-Type: application/xml
Host: localhost

<xml>
    <id>1</id>
    <type>2</type>
    <enable>0</enable>
    <sort>3</sort>
    <name>name</name>
    <url>url</url>
    <icon>icon</icon>
</xml>

参考 Java-httpurlconnection post提交raw格式数据

最后更新 2020-01-12