java实现发送post请求
1 背景介绍
最近有一个任务,完成数据获取和解析,需要发送带请求参数的post请求,才能拿到数据。之前没有接触过java发送post请求,但有接触过python的requets库,故写下这篇记录一下发送post请求。
2 基本实现
2.1需要的依赖:
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.StringRequestEntity;
idea会自动识别上面这些类,选择自动导入就好。
2.2 工具类实现
HttpUtils,实现发送:
public 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.getResponseBodyAsString();} else {throw new RuntimeException("接口连接失败!");}} catch (Exception e) {throw new RuntimeException("接口连接失败!");}return jsonResult;}}
测试:
public static void main(String[] args) {HashMap<String, String> headers = new HashMap<>(3);String requestUrl = "http://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);
}
解析使用阿里巴巴的fastJSON,把获取到的字符串变为JSON对象,然后进行遍历取出,最后进行操作,提前数据。
java实现发送post请求相关推荐
- java httpclient发送json 请求 ,go服务端接收
/***java客户端发送http请求*/package com.xx.httptest;/*** Created by yq on 16/6/27.*/import java.io.IOExcept ...
- JAVA后台发送http请求
JAVA后台发送http请求 代码: @RequestMapping("/check")@ResponseBodypublic Map check(Integer cashReco ...
- Java 常用工具类(12) : java后台发送http请求
参考 : java http 发送post请求-json格式_Oh_go_boy的博客-CSDN博客 Java发送Http请求 - 玄同太子 - 博客园 org.apache.http 在Maven中 ...
- java后台发送https请求(基于httpTemplate的httpUtil工具实现)
最近做连续做了一些java后台发送http请求的需求,发现项目里实现http请求的写法各异,不够简洁统一,于是基于httpTemplate自行封装了一个http请求工具,常见的json和octet-s ...
- java请求servlet,[Java]Servlet发送Post请求
演示实例:AServlet发送一个Student对象到BServlet #### 1.AServlet部分 首先造一个学生stu,然后通过fastjson的`toJSONString`方法把对象转换成 ...
- java http请求_如何设置Fiddler来拦截Java代码发送HTTP请求,进行各种问题排查
我们使用Java的RestTemplate或者Apache的HTTPClient编程的时候,经常遇到需要跟踪Java 代码发送的HTTP请求明细的情况.和javascript代码在浏览器里发送请求可以 ...
- Java模拟发送post请求
项目要求:模拟100个温湿度设备发送温湿度数据进行压测,查看数据是否有叠加且显示正确,因为测试环境简陋,没有100个温湿度设备,只能通过调用接口模拟发送请求,由于每次发送的请求要求正文某些元素值要唯一 ...
- java后端发送http请求
一.新建一个工具类:HttpRequestUril package com.tfjybj.dtc.crawl.util;import java.io.*; import java.net.*; imp ...
- Java模拟发送Http请求详细示例
对接第三方接口,肯定是需要我们自己模拟浏览器来发送请求的,有的文档中有demo,有demo改一改参数配置就好了,但有的接口却没有demo,只有一份接口参数介绍文档,这时候就需要我们自己来写发送请求的代 ...
最新文章
- phpstrom 代码格式
- condition可数吗 living_单词辨析 知识讲解 condition situation state的区别
- 怎么把word里面虚线变成实线_弱电不会制作cad图,花3分钟看完,只要会用WORD保证你能画出来...
- [ 逻辑锻炼] 用 JavaScript 做一个小游戏 ——2048 (详解版)
- [Twisted] Protocols协议和Protocol Factories 协议工厂
- 网络设备的区分(自顶向下)
- 使用APICloud AVM多端框架开发app通讯录功能
- 熊拍拍是什么?熊拍拍是下一个风口吗?
- 实验详解OSPF的几类LSA、FA转发规则(思科设备)
- PO: Purchase Order采购订单关键知识点
- SpringBoot整合Thymleaf实现页面静态化
- TDengine极简实战:从采集到入库,从前端到后端,体验物联网设备数据流转
- 大专毕业,0基础转行C++程序员一个月后,我后悔了
- Zookeeper的四字命令
- 知道焊缝长度如何确定节点板尺寸_钢桁架节点图 中各尺寸确定原则 总结
- 《国内十大中文博客托管网站排行榜》
- 转杨毅:火箭输得有谱了!
- 十进制与二进制快速转换计算心得
- python编程从入门到实践(入门)
- Spyder编辑器配色方案