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;
        }

  • 相关阅读:
    element-ui 中日期控件限制时间跨度
    自定义指令值绑定问题
    vuejs 深度监听
    vscode 快捷键
    JS跳转方式
    JSON
    面向对象编程
    DOM
    JS响应事件
    登录事件
  • 原文地址:https://www.cnblogs.com/zhc-hnust/p/6532530.html
Copyright © 2011-2022 走看看