先引入需要都依赖包吧。
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.5.2</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.8</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.2</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.6.2</version> </dependency>
开始编写代码了,创建一个HttpUtils工具类,自己创建一个doGet 和doPost方法,分别请求get和post请求
import com.google.gson.Gson; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; 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; import java.util.HashMap; import java.util.Map; public class HttpUtils { private static final Gson gson = new Gson(); /** * get方法 * @param * @return */ public static Map<String,Object> doGet(String url){ CloseableHttpClient httpClient = HttpClients.createDefault(); Map<String,Object> map = new HashMap<>(); RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(5000).setConnectionRequestTimeout(5000) .setSocketTimeout(5000).setRedirectsEnabled(true).build(); HttpGet httpGet = new HttpGet(url); httpGet.setConfig(requestConfig); try{ HttpResponse httpResponse = httpClient.execute(httpGet); if(httpResponse.getStatusLine().getStatusCode()==200){ String jsonResult = EntityUtils.toString(httpResponse.getEntity()); map = gson.fromJson(jsonResult,map.getClass()); } }catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return map; } public static String doPost(String url,String data,int timeout) { CloseableHttpClient httpClient = HttpClients.createDefault(); RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(5000).setConnectionRequestTimeout(5000) .setSocketTimeout(5000).setRedirectsEnabled(true).build(); HttpPost httpPost = new HttpPost(); httpPost.setConfig(requestConfig); httpPost.addHeader("Content-type","text/html;charset=UTF-8"); if(data!=null && data instanceof String){ StringEntity stringEntity = new StringEntity(data,"UTF-8"); httpPost.setEntity(stringEntity); } try { CloseableHttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); if(httpResponse.getStatusLine().getStatusCode()==200) { String result = EntityUtils.toString(httpEntity); return result; } } catch (IOException e) { e.printStackTrace(); }finally{ try{ httpClient.close(); }catch(Exception e){ e.printStackTrace(); } } return null; } }