通过HTTP请求调用第三方接口


通过HTTP请求调用第三方接口

简单的POST方式

 //json就是url后带的参数,这里是拼接的方式

 String json = "{\"account_key\":\"" + account_key + "\",\"secret_code\":\"" + secret_code+ "\",\"identify_id\":\"" + identify_id + "\",\"user_labels\":\"" + user_labels + "\"}"

String validUrl = token_url;//需要请求第三方接口的url
Response res = org.apache.http.client.fluent.Request.Post(validUrl).useExpectContinue().addHeader("mw-token", access_token)//添加Header
                    .bodyString(json, ContentType.APPLICATION_JSON).execute();
            HttpResponse response = res.returnResponse();
            StatusLine statusLine = response.getStatusLine();//获取返回状态
            int statusCode = statusLine.getStatusCode();
            if (statusCode == HttpURLConnection.HTTP_OK) {
                InputStream is = response.getEntity().getContent();
                String responseBody = getStreamAsString(is, HTTP.UTF_8);//解析响应返回结果
                JSONObject jsStr = JSONObject.parseObject(responseBody);
                int code = jsStr.getIntValue("status");
                String message = jsStr.getString("msg");
                if (0 == code) {
                    access_token = jsStr.getString("access_token");
                    logger.info(message);
                } else {
                    logger.info(message);
                }
            } else {
                logger.info("statusCode:" + statusCode);
            }

 

 解析响应返回结果

private static String getStreamAsString(InputStream stream, String charset) throws IOException {
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(stream, charset), 8192);
            StringWriter writer = new StringWriter();

            char[] chars = new char[8192];
            int count = 0;
            while ((count = reader.read(chars)) > 0) {
                writer.write(chars, 0, count);
            }

            return writer.toString();
        } finally {
            if (stream != null) {
                stream.close();
            }
        }
    }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM