1 import java.io.BufferedReader;
2 import java.io.BufferedWriter;
3 import java.io.IOException;
4 import java.io.InputStreamReader;
5 import java.io.OutputStreamWriter;
6 import java.net.HttpURLConnection;
7 import java.net.MalformedURLException;
8 import java.net.URL;
9
10 /**
11 * HttpURLConnection
12 */
13 public class TestPost {
14 public static void main(String[] args) {
15 try {
16 URL url = new URL("");
17 HttpURLConnection connection = (HttpURLConnection) url.openConnection();
18 connection.setRequestProperty("encoding", "UTF-8");
19 connection.setRequestMethod("POST");
20 connection.setDoInput(true);
21 connection.setDoOutput(true);
22 //根据连接对象创建输出流 将参数写入
23 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream()));
24 bw.write("name=zhangsan&age=25");
25 bw.flush();
26 //创建输入流 获取响应数据
27 BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
28 String str;
29 StringBuffer sb = new StringBuffer();
30 while((str = br.readLine())!=null) {
31 sb.append(str);
32 }
33 bw.close();
34 br.close();
35 } catch (MalformedURLException e) {
36 e.printStackTrace();
37 } catch (IOException e) {
38 e.printStackTrace();
39 }
40 }
41 }
1 import java.io.BufferedReader;
2 import java.io.IOException;
3 import java.io.InputStreamReader;
4 import java.net.MalformedURLException;
5 import java.net.URL;
6 import java.net.URLConnection;
7
8 /**
9 * URLConnection
10 */
11 public class TestGet {
12 public static void main(String[] args) {
13 try {
14 URL url = new URL("https://www.baidu.com");
15 //打开连接
16 URLConnection openConnection = url.openConnection();
17 //获取连接中的输入流openConnection.getInputStream()返回字节流,通过转成字符流并包装一个缓冲流
18 BufferedReader br = new BufferedReader(
19 new InputStreamReader(openConnection.getInputStream()));
20 String str;
21 StringBuffer sb = new StringBuffer();
22 while((str = br.readLine())!=null) {
23 sb.append(str);
24 }
25 System.out.println(sb);
26 br.close();
27 } catch (MalformedURLException e) {
28 e.printStackTrace();
29 } catch (IOException e) {
30 e.printStackTrace();
31 }
32 }
33 }
1 import java.io.IOException;
2 import org.apache.http.HttpEntity;
3 import org.apache.http.HttpResponse;
4 import org.apache.http.client.ClientProtocolException;
5 import org.apache.http.client.HttpClient;
6 import org.apache.http.client.methods.HttpGet;
7 import org.apache.http.impl.client.HttpClients;
8 import org.apache.http.util.EntityUtils;
9
10 /**
11 * HttpGet
12 */
13 public class HttpClientGetTest {
14 public static void main(String[] args) {
15 HttpClient client = HttpClients.createDefault();
16 try {
17 HttpGet get = new HttpGet("http://www.baidu.com");
18 HttpResponse response = client.execute(get);
19 HttpEntity entity = response.getEntity();
20 String result = EntityUtils.toString(entity,"UTF-8");
21
22 System.out.println(result);
23 } catch (ClientProtocolException e) {
24 e.printStackTrace();
25 } catch (IOException e) {
26 e.printStackTrace();
27 }
28 }
29 }
1 import java.io.IOException;
2 import java.util.ArrayList;
3 import java.util.List;
4
5 import org.apache.http.HttpEntity;
6 import org.apache.http.HttpResponse;
7 import org.apache.http.client.ClientProtocolException;
8 import org.apache.http.client.HttpClient;
9 import org.apache.http.client.entity.UrlEncodedFormEntity;
10 import org.apache.http.client.methods.HttpPost;
11 import org.apache.http.impl.client.HttpClients;
12 import org.apache.http.message.BasicNameValuePair;
13 import org.apache.http.util.EntityUtils;
14
15 /**
16 * HttpPost
17 */
18 public class HttpClientPostTest {
19 public static void main(String[] args) {
20 try {
21 HttpClient client = HttpClients.createDefault();
22 HttpPost post = new HttpPost("http://www.baidu.com");
23 //参数集合
24 List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>();
25 //添加数据
26 parameters.add(new BasicNameValuePair("name", "zhangsan"));
27 //将参数放到实体中
28 post.setEntity(new UrlEncodedFormEntity(parameters));
29 //设置请求方式
30 HttpResponse response = client.execute(post);
31 HttpEntity entity = response.getEntity();
32 String result = EntityUtils.toString(entity,"UTF-8");
33 //打印响应信息
34 System.out.println(result);
35 } catch (ClientProtocolException e) {
36 e.printStackTrace();
37 } catch (IOException e) {
38 e.printStackTrace();
39 }
40 }
41 }
1 <!-- httpclient -->
2 <dependency>
3 <groupId>org.apache.httpcomponents</groupId>
4 <artifactId>httpclient</artifactId>
5 <version>4.5.5</version>
6 </dependency>
1 import java.io.IOException;
2
3 import org.apache.http.HttpEntity;
4 import org.apache.http.HttpStatus;
5 import org.apache.http.client.CookieStore;
6 import org.apache.http.client.config.RequestConfig;
7 import org.apache.http.client.methods.CloseableHttpResponse;
8 import org.apache.http.client.methods.HttpGet;
9 import org.apache.http.client.methods.HttpPost;
10 import org.apache.http.client.methods.HttpRequestBase;
11 import org.apache.http.entity.StringEntity;
12 import org.apache.http.impl.client.BasicCookieStore;
13 import org.apache.http.impl.client.CloseableHttpClient;
14 import org.apache.http.impl.client.HttpClients;
15 import org.apache.http.util.EntityUtils;
16 /**
17 * @ClassName: HttpReqUtil
18 * @Description: http请求工具类
19 */
20 public class HttpReqUtil {
21
22 private static CookieStore cookieStore = new BasicCookieStore();
23 /**
24 * @Title: httpReqConfig
25 * @Description: 请求配置
26 * @param httpRequestBase
27 * @return void 返回类型
28 * @throws
29 */
30 public static void httpReqConfig(HttpRequestBase httpRequestBase) {
31 // header配置
32 httpRequestBase.setHeader("User-Agent", "Mozilla/5.0");
33 httpRequestBase.setHeader("Accept", "*/*");
34 httpRequestBase.setHeader("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3");
35 httpRequestBase.setHeader("Accept-Encoding", "gzip, deflate");
36
37 // 请求超时设置
38 RequestConfig config = RequestConfig.custom() //获取Builder对象
39 .setConnectionRequestTimeout(20000) //设置请求超时时间
40 .build(); //构建RequestConfig对象
41
42 httpRequestBase.setConfig(config); //将RequestConfig添加到请求中
43 }
44
45 /**
46 * @Title: sendGet
47 * @Description: 发送get请求
48 * @param url
49 * @param param
50 * @return String 返回类型
51 * @throws
52 */
53 public static String sendGet(String url, String param) {
54
55 // 初始化
56 String result = null;
57 CloseableHttpResponse response = null;
58 String finalUrl = url + "?" + param;
59 // 创建httpclient
60 CloseableHttpClient httpclient = HttpClients.custom()
61 //请求中cookie由cookie管理,存储第一次登陆后服务器返回的cookie,之后登陆后的请求都带上该cookie
62 .setDefaultCookieStore(cookieStore)
63 .build();
64
65 try {
66 // 发送get请求+header
67 HttpGet httpGet = new HttpGet(finalUrl);
68
69 // 添加header
70 httpReqConfig(httpGet);
71 response = httpclient.execute(httpGet);
72
73 // 获取响应内容
74 if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
75 HttpEntity entity = response.getEntity();
76 result = EntityUtils.toString(entity);
77 }
78 } catch (Exception e) {
79 e.printStackTrace();
80 } finally {
81 try {
82 // 关闭数据流
83 if(response!=null) {
84 response.close();
85 }
86 } catch (IOException e) {
87 e.printStackTrace();
88 }
89 try {
90 // 关闭连接
91 if(httpclient!=null) {
92 httpclient.close();
93 }
94 } catch (IOException e) {
95 e.printStackTrace();
96 }
97 }
98 return result;
99 }
100
101 /**
102 * @Title: sendPost
103 * @Description: 发送post请求
104 * @param url
105 * @param param
106 * @return String 返回类型
107 * @throws
108 */
109 public static String sendPost(String url, String param) {
110 // 初始化
111 String result = null;
112 CloseableHttpResponse response = null;
113 // 创建httpclient
114 CloseableHttpClient httpclient = HttpClients.custom()
115 .setDefaultCookieStore(cookieStore)
116 .build();
117 try {
118 HttpPost httpPost = new HttpPost(url);
119 // 添加header
120 httpReqConfig(httpPost);
121
122 StringEntity stringEntity = new StringEntity(param, "UTF-8");
123 stringEntity.setContentType("application/x-www-form-urlencoded");
124
125 // 发送post请求
126 httpPost.setEntity(stringEntity);
127 response = httpclient.execute(httpPost);
128
129 // 获取响应内容
130 if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
131 HttpEntity entity = response.getEntity();
132 result = EntityUtils.toString(entity);
133 }
134 } catch (Exception e) {
135 e.printStackTrace();
136 } finally {
137 try {
138 // 关闭数据流
139 if(response!=null) {
140 response.close();
141 }
142 } catch (IOException e) {
143 e.printStackTrace();
144 }
145 try {
146 // 关闭连接
147 if(httpclient!=null) {
148 httpclient.close();
149 }
150 } catch (IOException e) {
151 e.printStackTrace();
152 }
153 }
154 return result;
155 }
156
157 public static void main(String[] args) {
158
159 // 案例:登陆接口
160 String url_a = "http://www.nuandao.com/public/lazyentrance";
161 String param_a = "isajax=1&remember=1&email=xxxxx@qq.com&password=testing1?&agreeterms=1&itype=&book=1&m=0.2757277030262314";
162 sendPost(url_a, param_a);
163
164 // // 案例:购物车接口
165 // String url_b = "http://www.nuandao.com/shopping/cart";
166 // String param_b = "countdown=1&m=0.3810762454661424";
167 // sendPost(url_b, param_b);
168
169 /*
170 * //案例 String url_c = "http://www.nuandao.com/Ajax/personal"; String
171 * param_c =
172 * "default=1&pagesign=user&url=http%3A%2F%2Fwww.nuandao.com%2Fuser%2Fmyorder&m=0.7948146575033792";
173 * sendPost(url_c,param_c);
174 *
175 * //案例 String url_d =
176 * "https://m.jiuxian.com/m_v1/goods/get_goods_num_by_province"; String
177 * param_d = "goods_id=28045&province_id=500"; sendPost(url_d,param_d);
178 */
179 }
180 }