json格式请求http
来源:互联网 发布:高性能网络编程 陶辉 编辑:程序博客网 时间:2024/04/30 12:41
例子:JsonObject response = postJsonData(url, gson.toJson(applyInfo));//applyInfo 一个java对象
/** * 发送 post 请求 * * @param url 地址 * @return {@link JsonObject} */ public static JsonObject postJsonData(String url, String jsonStrData) { HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); HttpPost post = new HttpPost(url); JsonObject jsonObject = null; try { CloseableHttpClient closeableHttpClient = httpClientBuilder.build(); HttpEntity entity = new StringEntity(jsonStrData, "UTF-8"); post.setEntity(entity); post.setHeader("Content-type", "application/json"); HttpResponse resp = closeableHttpClient.execute(post); jsonObject = convertResponseBytes2JsonObj(resp); } catch (IOException e) { e.printStackTrace(); } return jsonObject; } /** * 发送 get 请求 * * @param url 地址 * @return {@link JsonObject} */ public static JsonObject getJsonResponse(String url) { JsonObject jsonObject = new JsonObject(); HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); HttpGet get = new HttpGet(url); CloseableHttpClient closeableHttpClient = null; try { closeableHttpClient = httpClientBuilder.build(); HttpResponse resp = closeableHttpClient.execute(get); jsonObject = convertResponseBytes2JsonObj(resp); } catch (IOException e) { e.printStackTrace(); if (null != closeableHttpClient) { try { closeableHttpClient.close(); } catch (IOException e1) { e1.printStackTrace(); } } } return jsonObject; } /** * Header 为 application/json POST 请求数据 * * @param resp * @return {@link JsonObject} */ private static JsonObject convertResponseBytes2JsonObj(HttpResponse resp) { JsonObject jsonObject = null; try { InputStream respIs = resp.getEntity().getContent(); byte[] respBytes = IOUtils.toByteArray(respIs); String result = new String(respBytes, Charset.forName("UTF-8")); if (null == result || result.length() == 0) { LOG.error("请求无响应"); } else { if (result.startsWith("{") && result.endsWith("}")) { jsonObject = (JsonObject) jsonParser.parse(result); } else { LOG.error("请求不能转成JSON对象"); } } } catch (Exception e) { e.printStackTrace(); } return jsonObject; }
附:
public static String post(String url, Map<String, String> params) { DefaultHttpClient httpclient = new DefaultHttpClient(); String body = null; log.info("create httppost:" + url); HttpPost post = postForm(url, params); body = invoke(httpclient, post); httpclient.getConnectionManager().shutdown(); return body; } public static String get(String url) { DefaultHttpClient httpclient = new DefaultHttpClient(); String body = null; log.info("create httppost:" + url); HttpGet get = new HttpGet(url); body = invoke(httpclient, get); httpclient.getConnectionManager().shutdown(); return body; } private static String invoke(DefaultHttpClient httpclient, HttpUriRequest httpost) { HttpResponse response = sendRequest(httpclient, httpost); String body = paseResponse(response); return body; } @SuppressWarnings("unused") private static String paseResponse(HttpResponse response) { HttpEntity entity = response.getEntity(); log.info("response status: " + response.getStatusLine()); String charset = EntityUtils.getContentCharSet(entity); String body = null; try { body = EntityUtils.toString(entity); log.info(body); } catch (ParseException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return body; } private static HttpResponse sendRequest(DefaultHttpClient httpclient, HttpUriRequest httpost) { HttpResponse response = null; try { response = httpclient.execute(httpost); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return response; } private static HttpPost postForm(String url, Map<String, String> params) { HttpPost httpost = new HttpPost(url); List<NameValuePair> nvps = new ArrayList<NameValuePair>(); Set<String> keySet = params.keySet(); for (String key : keySet) { nvps.add(new BasicNameValuePair(key, params.get(key))); } try { httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8)); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return httpost; }
get请求
String access_token = client.get(url);
post请求
String response = client.post(url, param);//Map<String, String> param
0 0
- json格式请求http
- Json格式的http请求
- RestTemplate 发送json格式的http请求
- Python发送http请求(json格式)
- python 发送HTTP请求 post json 格式
- http post 请求参数格式是json
- JAVA HTTP POST请求(请求参数格式为json)
- java发送JSON格式的http通讯的post请求
- C++发送消息格式为JSON的http请求
- http发送json格式数据请求 demo示例
- C++发送消息格式为JSON的http请求
- c++发送消息格式为JSON的http请求
- HTTP请求报文格式
- Http请求报文格式
- HTTP请求消息格式
- HTTP请求格式
- HTTP请求消息格式
- HTTP请求报文格式
- Flash通过RTMP协议连接到RED5服务器发生不信任的本地SWF文件可能不能联系Internent
- Android 通过JNI实现守护进程,使得Service服务不被杀死
- hdu1415和poj 1415 Jugs
- 蓝桥杯 2015校内选拔试题 第二题:调和级数
- golang语法总结(六):常量声明与赋值
- json格式请求http
- BZOJ 1183 Croatian2008 Umnozak
- SwipeRefreshLayout完美添加及完善上拉加载功能
- java将集合保存到excel中
- 本科教育忽略的黄金C++<3> 泛型算法
- 【算法总结】Binary search 二分法
- 选择排序-java
- Android 获取当前网速质量调整网络请求
- EntityManager方法简介