Apache Common 的HttpClient非常方便好用,但是其中有不少需要注意的地方。现在整理如下:
1. maven pom。 对于httpclient4.x,其maven dependency为:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.6</version>
</dependency>
2. Post
用HttpClient发送post方法时需要配合使用Entity。 Entity是放在post的方法体中的,不像get将所有参数房子url后面直接提交即可。 所以我们可以将需要提交的各种数据存在Entity中,然后提交。
a。 UrlEncodedFormEntity
这个Entity感觉是模拟提交表单的数据。 其构造器需要传入NameValuePari 的list作为参数,不知道为什么么不用Map(后面有时间可以研究一下)。
b。StringEntity
这个是直接向服务端提交一个字符串数据,适合提交json、xml等格式。 不过需要将Content type 设为application/json。