zoukankan      html  css  js  c++  java
  • HttpClient学习

      /**
         * 使用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;
        }

  • 相关阅读:
    初步学习css 从css手册看起———text
    IE6双倍margin间距两大解决方案转载
    div+css的基本 常用到语法(一) 。
    初步学习css 从css手册看起———Font
    行内宽高设置无效的解决
    C++面对对象基础
    C++继承和派生
    基于MATLAB的FIR滤波器的设计
    C++多态
    C++中的静态成员和静态函数
  • 原文地址:https://www.cnblogs.com/zhc-hnust/p/6532530.html
Copyright © 2011-2022 走看看