post表单时的html报文的header信息

表单只有text的时候
POST /example.php HTTP/1.1
Host: 127.0.0.1
User-Agent: PEAR HTTP_Request class ( http://pear.php.net/ )
Content-Type: application/x-www-form-urlencoded
Connection: close
Accept-Encoding: gzip
Content-Length: 15
Foo1=bar&Foo2=1

表单只有file的时候
POST /example.php HTTP/1.1
Host: 127.0.0.1
User-Agent: PEAR HTTP_Request class ( http://pear.php.net/ )
Content-Type: multipart/form-data; boundary=HTTP_Request_62f8038e5c72bc40efd08be14dc3db66
Connection: close
Accept-Encoding: gzip
Content-Length: 616

--HTTP_Request_62f8038e5c72bc40efd08be14dc3db66
Content-Disposition: form-data; name="mail.gif"; filename="mail.gif"
Content-Type: image/gif

GIF89a    雁雂g櫰易疼嫖徵攒鸮d愇圊bi層泓毅逖蓊厢飃cび桕宿鹫骢脏镌屣冁褓潼劂钪狒厌鮢n曍膂袖笥泗孟吡惺]m囐觎!?     ,       `?俙亼,k抎?Va3R-_J?[`?罃H?`Q ?勉h6?瞐l4I?`嶕癷2翧?"   OKK;( b eW

c8 i,J  ?9, )f  ~刓np
 殒??A?+D`P*?P? `C?皺@
 刄 /?`? 锑`#?,pU,碌>?€ 艍@亷p? ;
--HTTP_Request_62f8038e5c72bc40efd08be14dc3db66
     

表单两者都有的时候的时候
POST /example.php HTTP/1.1
Host: 127.0.0.1
User-Agent: PEAR HTTP_Request class ( http://pear.php.net/ )
Content-Type: multipart/form-data; boundary=HTTP_Request_4893a7ce3361284d0e2ce39f2fdfa922
Connection: close
Accept-Encoding: gzip
Content-Length: 816

--HTTP_Request_4893a7ce3361284d0e2ce39f2fdfa922
Content-Disposition: form-data; name="Foo1"

bar
--HTTP_Request_4893a7ce3361284d0e2ce39f2fdfa922
Content-Disposition: form-data; name="Foo2"

1
--HTTP_Request_4893a7ce3361284d0e2ce39f2fdfa922
Content-Disposition: form-data; name="mail.gif"; filename="mail.gif"
Content-Type: image/gif

GIF89a    雁雂g櫰易疼嫖徵攒鸮d愇圊bi層泓毅逖蓊厢飃cび桕宿鹫骢脏镌屣冁褓潼劂钪狒厌鮢n曍膂袖笥泗孟吡惺]m囐觎!?     ,       `?俙亼,k抎?Va3R-_J?[`?罃H?`Q ?勉h6?瞐l4I?`嶕癷2翧?"   OKK;( b eW

c8 i,J  ?9, )f  ~刓np
 殒??A?+D`P*?P? `C?皺@
 刄 /?`? 锑`#?,pU,碌>?€ 艍@亷p? ;
--HTTP_Request_4893a7ce3361284d0e2ce39f2fdfa922
     
以下是Java使用HttpClient实现POST表单发送/接收XML格式的报文POST参数名为req的示例代码: ``` import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.io.IOException; public class HttpClientExample { public static void main(String[] args) throws IOException { String url = "http://example.com/api"; String xml = "<xml><name>John</name><age>30</age></xml>"; CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(url); StringEntity entity = new StringEntity(xml, ContentType.APPLICATION_XML); httpPost.setEntity(entity); httpPost.setHeader("Content-type", "application/xml"); CloseableHttpResponse response = httpClient.execute(httpPost); try { HttpEntity responseEntity = response.getEntity(); String responseString = EntityUtils.toString(responseEntity, "UTF-8"); System.out.println(responseString); } finally { response.close(); } } } ``` 说明: - `url`:要访问的URL地址。 - `xml`:要发送的XML格式的报文。 - `httpClient`:创建一个默认的HttpClient实例。 - `httpPost`:创建一个HttpPost实例,并将URL地址设置为请求的目标地址。 - `entity`:将XML报文封装为一个StringEntity对象,并设置内容类型为`application/xml`。 - `httpPost.setEntity(entity)`:将封装好的XML报文设置为HTTP POST请求的主体部分。 - `httpPost.setHeader("Content-type", "application/xml")`:设置请求头部的内容类型为`application/xml`。 - `response`:执行HTTP POST请求,并返回一个CloseableHttpResponse实例。 - `responseEntity`:从响应中获取响应主体。 - `responseString`:将响应主体转换为字符串格式。 - `response.close()`:关闭响应实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值