栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

用Java写一个以byte[]传递的HTTP的工具类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用Java写一个以byte[]传递的HTTP的工具类

背景描述:内网开发完代码等待终端配合测试,终端开发必将忙所以打算自己写一个Http测试类。

报文为字节数组,参考了一些文章使用的字符流,做了一些改进。

 之前没注意使用字符流,改成字节流完美运行。

工具类代码

package com.hua.utils;

import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.util.Map;


public class HttpUtils {

    public static void main(String[] args) throws Exception {
        String Url = "http://localhost:8889/test";
        String data = "{ "trcode": "4568446","trcode": "4568446"}";
        String res = sendPost(Url,data.getBytes());
        System.out.println(res);
    }

    
    public static String sendPost(String url, byte[] param) {
        OutputStream out = null;
        BufferedReader in = null;
        String result = "";
        try {
            URL realUrl = new URL(url);
            // 打开和URL之间的连接
            URLConnection conn = realUrl.openConnection();
            // 设置通用的请求属性
            conn.setRequestProperty("accept", "*
            
            out = new BufferedOutputStream(conn.getOutputStream());
            // 发送请求参数
            out.write(param);
            // flush输出流的缓冲
            out.flush();
            
            // 定义BufferedReader输入流来读取URL的响应
            in = new BufferedReader(
                    new InputStreamReader(conn.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }
        } 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;
    }

}

服务端代码

package com.hua.controller;


import com.hua.vo.SysResult;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.UnsupportedEncodingException;

@RestController
@RequestMapping("test")
public class TestController {

    @RequestMapping()
    public SysResult test(@RequestBody byte[] data )  {
        String s = null;
        try {
            s = new String(data,"UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        System.out.println("接受请求"+s);
        return SysResult.success(s);
    }
}

注意RequestProperty根据自己接口实际情况改动  我是直接复制Postman

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/993280.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号