java 实现发送post 请求
1 背景介绍
最近有⼀个任务,完成数据获取和解析,需要发送带请求参数的post请求,才能拿到数据。之前没有接触过java发送post请求,但有接触过python的requets库,故写下这篇记录⼀下发送post请求。
2 基本实现
2.1需要的依赖:
idea会⾃动识别上⾯这些类,选择⾃动导⼊就好。
2.2 ⼯具类实现
HttpUtils,实现发送:
测试:
import HttpClient ;import HttpStatus ;import PostMethod ;import StringRequestEntity ;
1
2
3
4public class HttpUtils { public static String sendPostWithJson (String url , String jsonStr , HashMap <String ,String > headers ) { // 返回的结果 String jsonResult = ""; try { HttpClient client = new HttpClient (); // 连接超时 client .getHttpConnectionManager ().getParams ().setConnectionTimeout (3*1000); // 读取数据超时 client .getHttpConnectionManager ().getParams ().setSoTimeout (3*60*1000); client .getParams ().setContentCharset ("UTF-8"); PostMethod postMethod = new PostMethod (url ); postMethod .setRequestHeader ("content-type", headers .get ("content-type")); // ⾮空 if (null != jsonStr && !"".equals (jsonStr )) { StringRequestEntity requestEntity = new StringRequestEntity (jsonStr , headers .get ("content-type"), "UTF-8"); postMethod .setRequestEntity (requestEntity ); } int status = client .executeMethod (postMethod ); if (status == HttpStatus .SC_OK ) { jsonResult = postMethod .getResponseBodyAsS
tring (); } else { throw new RuntimeException ("接⼝连接失败!"); } } catch (Exception e ) { throw new RuntimeException ("接⼝连接失败!"); } return jsonResult ; } }
1
2
3
4
5
6
7
8
9
10
11java中sort降序排列
12
13
14
15
16
17
18phpmyadmin安卓版
19
20
计算机编程初学什么语言
21递归算法经典例题
22
python请求并解析json数据23
24
不同编程语言的作用25
26
27
28
29
30
31
32
解析使⽤阿⾥巴巴的fastJSON,把获取到的字符串变为JSON对象,然后进⾏遍历取出,最后进⾏操作,提前数据。public static void main (String [] args ) { HashMap <String , String > headers = new HashMap <>(3); String requestUrl = "localhost:8070/test/rz/server/rzxx/at_VaildToken.do"; String jsonStr = "{\"name\":\"张三\"}"; headers .put ("content-type", "application/json"); // 发送post 请求 String resultData = HttpUtils .sendPostWithJson (requestUrl , jsonStr ,headers ); // 并接收返回结果 System .out .println (resultData );}
123456789101112
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论