- public void testMethodpost(){
- // 初始化 http 请求
- CloseableHttpClient httpclient=HttpClientBuilder.create().build();
- String url = "xxxxxxxxxxxxx";
- // 初始化 http 请求
- HttpPost post=new HttpPost(url);
- // 设置请求头
- post.setHeader("Content-Type","application/json;charset=UTF-8");
- try {
- String paramJson="{\"userName\":\"xxxxxxx\",\"passWord\":\"JVGK+jDLU7\"}";
- // JSONObject jsonObject = JSON.parseObject(paramJson);
- //
- // System.out.println(jsonObject);
- // String param=JSON.toJSONString(jsonObject);
- // 提交参数发送请求
- StringEntity requestEntity = new StringEntity(paramJson,"UTF-8");
- post.setEntity(requestEntity);
- CloseableHttpResponse response=httpclient.execute(post);
- HttpEntity entity=response.getEntity();
- String entityStr =EntityUtils.toString(entity,"UTF-8");
- System.out.println(entityStr);
- //httpclient.close();
- } catch (ClientProtocolException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
遇到的坑:
1. 前期使用 POST 数据时, 用了 UrlEncodedFormEntity() 这个方法
结果服务器返回 500, 打印的请求参数为: key=value&key2=value2 格式
解决办法: 使用 StringEntity requestEntity = new StringEntity(paramJson,"UTF-8"); 办法解决
来源: http://www.bubuko.com/infodetail-3007157.html