加入httpclient依赖
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
代码
package com.cw.utils.httpclient;
import com.alibaba.fastjson.JSONObject;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
/**
* httpclient 工具类
* Created by chenwei on 2015/3/22.
*/
public class HttpClientDemo {
/**
* http get
*/
public void httpGetWithParam(){
try {
//不带参数的get请求可以直接传递String类型参数。注意url的正确性,以http开头
// String url="www.baidu.com";
URI url = new URIBuilder("http://www.baidu.com").setParameter("name","chenwei").build();
HttpClient client= HttpClients.createDefault();
HttpGet httpGet=new HttpGet(url);
HttpResponse response = client.execute(httpGet);
if (response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){
String content = EntityUtils.toString(response.getEntity(), "UTF-8");
System.out.println(content);
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* http post
*/
public void httpPostParam(){
HttpClient client= HttpClients.createDefault();
try {
//注意url的正确性,以http开头
HttpPost httpPost=new HttpPost("http://www.baidu.com");
//设置heder
httpPost.setHeader("User-Agent","Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36");
List<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new BasicNameValuePair("name", "chen"));
parameters.add(new BasicNameValuePair("job", "javaer"));
//将参数编码成键值对,若不传字符编码,则默认为iso_8859_1
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(parameters,"UTF-8");
httpPost.setEntity(formEntity);
HttpResponse response = client.execute(httpPost);
if (response.getStatusLine().getStatusCode()== HttpStatus.SC_OK){
String content = EntityUtils.toString(response.getEntity(), "UTF-8");
System.out.println(content);
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* http json
*/
public void httpPostParamWithJson(){
HttpClient client= HttpClients.createDefault();
try {
//注意url的正确性,以http开头
HttpPost httpPost=new HttpPost("http://www.baidu.com");
//设置heder
httpPost.setHeader("User-Agent","Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36");
JSONObject jsonObject=new JSONObject();
jsonObject.put("name","chen");
jsonObject.put("job","javaer");
//将参数编码成键值对,若不传字符编码,则默认为iso_8859_1
StringEntity stringEntity = new StringEntity (jsonObject.toString());
stringEntity.setContentEncoding("UTF-8");
//发送json数据需要设置contentType
stringEntity.setContentType("application/json");
httpPost.setEntity(stringEntity);
HttpResponse response = client.execute(httpPost);
if (response.getStatusLine().getStatusCode()== HttpStatus.SC_OK){
String content = EntityUtils.toString(response.getEntity(), "UTF-8");
System.out.println(content);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}