在网上找了好久都没有找到post、get请求的工具类,现在整理了一下分享出来。http工具类如下:

package com.qlwb.business.util;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.lang.reflect.Field;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;import net.sf.json.JSONObject;import org.apache.log4j.Logger;/*** * * @类编号:* @类名称:HttpRequest* @内容摘要: http post get请求* @author:鹿伟伟* @创建日期:2016年4月13日 下午4:03:50* @修改人:* @修改日期:* @修改描述:简单描述修改的内容* @version 1.0.0* */
public class HttpRequest {/*** 向指定URL发送GET方法的请求* * @param url*            发送请求的URL* @param param*            请求参数,请求参数应该是 name1=value1&name2=value2 的形式。* @return URL 所代表远程资源的响应结果*/public static String sendGet(String url, String param) {String result = "";BufferedReader in = null;try {String urlNameString = url + "?" + param;URL realUrl = new URL(urlNameString);// 打开和URL之间的连接URLConnection connection = realUrl.openConnection();// 设置通用的请求属性connection.setRequestProperty("accept", "*/*");connection.setRequestProperty("connection", "Keep-Alive");connection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");// 建立实际的连接connection.connect();// 获取所有响应头字段Map<String, List<String>> map = connection.getHeaderFields();// 遍历所有的响应头字段for (String key : map.keySet()) {System.out.println(key + "--->" + map.get(key));}// 定义 BufferedReader输入流来读取URL的响应in = new BufferedReader(new InputStreamReader(connection.getInputStream()));String line;while ((line = in.readLine()) != null) {result += line;}} catch (Exception e) {System.out.println("发送GET请求出现异常!" + e);e.printStackTrace();}// 使用finally块来关闭输入流finally {try {if (in != null) {in.close();}} catch (Exception e2) {e2.printStackTrace();}}return result;}/*** 向指定 URL 发送POST方法的请求* * @param url*            发送请求的 URL* @param param*            请求参数,请求参数应该是 name1=value1&name2=value2 的形式。* @return 所代表远程资源的响应结果*/public static String sendPost(String url, String param) {PrintWriter out = null;BufferedReader in = null;String result = "";Logger.getLogger(HttpRequest.class).info("流量充值开始:"+url+"&"+param);try {URL realUrl = new URL(url);// 打开和URL之间的连接URLConnection conn = realUrl.openConnection();// 设置通用的请求属性conn.setRequestProperty("accept", "*/*");conn.setRequestProperty("connection", "Keep-Alive");conn.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");// 发送POST请求必须设置如下两行conn.setDoOutput(true);conn.setDoInput(true);// 获取URLConnection对象对应的输出流out = new PrintWriter(conn.getOutputStream());// 发送请求参数out.print(param);// flush输出流的缓冲out.flush();// 定义BufferedReader输入流来读取URL的响应in = new BufferedReader(new InputStreamReader(conn.getInputStream()));String line;while ((line = in.readLine()) != null) {result += line;}Logger.getLogger(HttpRequest.class).info("流量充值结束:"+result);} catch (Exception e) {System.out.println("发送 POST 请求出现异常!" + e);e.printStackTrace();}// 使用finally块来关闭输出流、输入流finally {try {if (out != null) {out.close();}if (in != null) {in.close();}} catch (IOException ex) {ex.printStackTrace();}}return result;}public static String formatParam(Object o) {StringBuffer sbf= new StringBuffer();Class cls = o.getClass();Field[] fields = cls.getDeclaredFields();try {for (Field f : fields) {f.setAccessible(true);if (!"serialVersionUID".equals(f.getName())) {sbf.append(f.getName() + "=" + (f.get(o)==null?"":f.get(o) )+ "&");}
//              if (f.get(o) != null && f.get(o) != "") {//              }}} catch (IllegalArgumentException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();}return sbf.toString().substring(0, sbf.toString().length()-1);}public static void main(String[] args) {
//      ThirdRechargeReqParams p=new ThirdRechargeReqParams();
//      p.setMobile("18706402245");
//      p.setOrderMeal("10");
//      p.setMsgId("123456");
//      p.setRange("0");
//      System.out.println(p.toString());
//      System.out.println(CreditMallHandle.ThirdFlowRecharge(p));
//      Timer timer = new Timer();
//      timer.schedule(new RequestTask(), 1000,6*1000);
//      timer.cancel();JSONObject bodyObj = JSONObject.fromObject(HttpRequest.sendPost("http://api.wxflow.com:9092/Public/Api/?service=User.buyFlowOrderInfo", "userName=qlyd&userPwd=27e3b7118777a1114fb0c9cc0052d31a614c55da&mobile=18706402245&orderMeal=20&orderTime=1&msgId=23213&extend=&range=0"));System.out.println(bodyObj.getJSONObject("data").getString("code"));}
}

Http请求get、post工具类相关推荐

  1. ios开发循环网络请求_GitHub - JadenTeng/ResourceX: iOS网络请求,网络泛型编程,工具类的封装,基于AFNetworking 实现, NSCache数据缓存...

    ResourceX 通过AFNetworking.YYModel 解析网络泛型编程简化网络请求 现如今,网络通信几乎涉及每一个app程序.对于绝大多数请求HTTP API的方法,它们的执行流程都可以分 ...

  2. android httputils更换成https请求,Android开发工具类之HttpUtils

    今天我们讲常用的开发工具类之HttpUtils,我发现上两次,我对于每个方法都进行了一定的解释,有人跟我评论和留言说,不用我解释,这么简单,这么明显的使用方法,再笨的人也能看懂,多此一举,好吧,这次我 ...

  3. java代码post接口请求 用 hutool工具类

    package com.byd.com;import cn.hutool.http.HttpRequest; import cn.hutool.json.JSONObject;public class ...

  4. 从服务器请求文件流工具类,SpringBoot我想获取图片流,然后将图片流的数据传到服务器上...

    我想获取图片流,然后将图片流的数据传到服务器上 这行好像是获取图片流的,但是这个buffers我怎么传递给服务器 我想把buffers作为参数传给口,不知道怎么实现?ByteBuffer buffer ...

  5. javascript常用工具类的封装

    目录 一.js数组工具类 工具类方法 工具类代码 测试MyArrayFn中的所有方法 二.js字符串校验工具类 工具类方法 工具类代码 三.js时间Date工具类 工具类方法 工具类代码 四.js浏览 ...

  6. ( 持续更新,目前含 200+ 工具类 ) DevUtils 是一个 Android 工具库, 主要根据不同功能模块,封装快捷使用的工具类及 API 方法调用。

    DevUtils GitHub About ( 持续更新,目前含 200+ 工具类 ) Roadmap DevUtils 是一个 Android 工具库,主要根据不同功能模块,封装快捷使用的工具类及 ...

  7. 史上最全的开发工具类

    银行卡管理 → BankCheck checkBankCard : 校验银行卡卡号是否合法 getBankCardCheckCode: 从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位 ge ...

  8. httpclient工具类,post请求发送json字符串参数,中文乱码处理

    在使用httpclient发送post请求的时候,接收端中文乱码问题解决. 正文: 我们都知道,一般情况下使用post请求是不会出现中文乱码的.可是在使用httpclient发送post请求报文含中文 ...

  9. Java 调用接口工具类并设置请求和传输超时时间

    废话不多说直接上代码 /*** 接口调用工具类* @Author: MonsterTiny* @Date: 2020-07-23 10:06*/ public class HttpClientUtil ...

  10. 轻松把玩HttpClient之封装HttpClient工具类(五),携带Cookie的请求

    近期更新了一下HttpClientUtil工具类代码,主要是加入了一个參数HttpContext,这个是用来干嘛的呢?事实上是用来保存和传递Cookie所须要的. 由于我们有非常多时候都须要登录.然后 ...

最新文章

  1. C语言中浮点型在计算机中的存储
  2. c++ 异步回调_知道Java中的回调机制吗?
  3. burpsuite 实战指南
  4. vmware提示com.vmware.sps.fault.QsConnectionException报错
  5. [转]JavaScript构造函数及原型对象
  6. Linux中Postfix邮件发送配置(三)
  7. upload-labs_pass14_pass15_pass16_图片马的制作_结合文件包含漏洞_getimagesize_exif_imagetype
  8. 数据库DBA(3年以内需求)
  9. 系泊系统 matlab代码,一种应用于系泊系统的设计方法与流程
  10. 如何在kylo中添加数据源
  11. Android studio点击按钮闪退问题
  12. html5 video的简单使用
  13. Win11下蓝牙鼠标停止4秒后启动卡顿
  14. bat批处理与adb命令的配合
  15. Unity Shader:实现菲涅尔+色散效果的环境映射以及相关原理解析
  16. 我可以用计算机做图吗,【我用Word和excel画图分别怎么制作】电脑excle怎样制作画图...
  17. Ubuntu16.04 装机之后要做的二十件事
  18. 【狼人杀plus全记录】没有公网IP照样完美解决微信小程序本地测试问题,超简单方法!
  19. python程序员是怎么给宝宝取名字的
  20. 内网文件共享服务器方案

热门文章

  1. 图像特征的特点及其常用的特征提取与匹配方法
  2. 画法几何与工程制图2
  3. 东北大学c语言作业答案,{东北大学}2018年秋学期《画法几何及土木建筑制图》在线作业2课后参考答案...
  4. 【业务安全04】万能用户名及万能密码
  5. 单片机中的冒泡排序(汇编语言)
  6. h3c交换机服务器无响应,华为(H3C)交换机版本升级遇到的问题总结
  7. Windows系统如何合并两个txt文本
  8. AI 医生“战疫”在前线
  9. three.js实现球体地球城市模拟迁徙
  10. 科学道德与学风-2021雨课堂答案-第5章