/** * 使用GET方式请求 最简单的物流追踪方式,如果某些物流公司的获取追踪信息的方式与此相同,则可以直接调用次方法 * * @param requestUrl * @return 追踪信息 */ public static String getTrackInfo(String requestUrl) { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet(requestUrl); try { CloseableHttpResponse httpResponse = httpClient.execute(httpGet); int statusCode = httpResponse.getStatusLine().getStatusCode(); if (statusCode != HttpStatus.SC_OK) { System.out.println("Method is wrong " + httpResponse.getStatusLine()); return null; } return EntityUtils.toString(httpResponse.getEntity()); } catch (Exception e) { e.printStackTrace(); } finally { try { httpGet.releaseConnection(); httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } return null; } /** * 使用POST方式请求 最简单的物流追踪方式,如果某些物流公司的获取追踪信息的方式与此相同,则可以直接调用次方法 * * @param requestUrl * @return 追踪信息 */ public String postTrackInfo(String requestUrl, Map<String, String> params) { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(requestUrl); try { List<NameValuePair> nvps = new ArrayList<NameValuePair>(); if (params != null) { for (Entry<String, String> entry : params.entrySet()) { nvps.add(new BasicNameValuePair(entry.getKey(), entry.getValue())); } } httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8")); httpPost.setHeader("Content-type", "application/x-www-form-urlencoded"); HttpResponse httpResponse = httpClient.execute(httpPost); int statusCode = httpResponse.getStatusLine().getStatusCode(); if (statusCode != HttpStatus.SC_OK) { System.out.println("Method is wrong " + httpResponse.getStatusLine()); return null; } return EntityUtils.toString(httpResponse.getEntity()); } catch (Exception e) { e.printStackTrace(); } finally { try { httpPost.releaseConnection(); httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } return null; }
转载于:https://www.cnblogs.com/zhc-hnust/p/6532530.html
相关资源:数据结构—成绩单生成器