Java生成二进制文件与Postman以二进制流的形式发送请求

业务描述:

模拟终端(智能家居)发送HTTP POST请求,请求参数为二进制流;而且,二进制流是加密后的数据,因此调试分两步:

1、Java代码生成加密后数据,并保存为二进制流文件 (电脑上的图片就是二进制流文件,只不过我们打开的时候,借助于电脑软件渲染为图片)

上代码片段:

 1 byte[] oneshotBytes = reqParms.getBytes();
 2 log.info("length----->"+oneshotBytes.length);
 3 //FileWriter fw = new FileWriter(new File("/home/unisound/private_cloud_platform/rtc_demo/req_binary"));
 4 //fw.write(new String(oneshotBytes,"utf-8"));
 5 //fw.flush();
 6 //fw.close();
 7 OutputStream os =  new FileOutputStream(new File("/home/unisound/private_cloud_platform/rtc_demo/req_binary"));
 8 os.write(oneshotBytes);
 9 os.flush();
10 os.close();

代码很简单,就是把byte[]保存为文件;

坑点:千万不要把byte[] 转换为 String 然后把 String写入文件;不然你会发现,原本214字节的文件变为252字节或者更大!!!

原因很简单,二进制流转换为字符串,这是编码的过程,编码就需要选择字符集(这里是UTF-8),字符集中字符长度和字节长度是不对等的,比如UTF-8中,一个汉字是3个字节,字母数组不编码仍然是一个字节~!

         简单说,就是二进制数组byte[] 与  转换成的String后的XXX.getBytes()长度是不一样的!!!!

 

2、PostMan发送请求

这个就简单了,body中选择binary(二进制流),选中第一步生成的二进制文件...

注意:

header中,不要设置ContentType(一定注意,不要设置ContentType,如果非要设置,请设置为ContentType=text/plain,这也是默认值)

 

转载于:https://www.cnblogs.com/huahua035/p/10883519.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462548.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux下判断cpu物理个数,几核,是超线程还是多核心

原文地址:http://hi.baidu.com/xolee/blog/item/2bedc8b7ef2743e730add16c.html 1. 查看物理CPU的个数#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 2. 查看逻辑CPU的个数#cat /proc/cpuinfo |grep "processor"|wc -l 3. 查看CPU是…

Linux文件夹权限如何更改?

http://hi.baidu.com/lwvs/blog/item/83245809a30f033de9248835.html 先来了解一下文件属性,在shell环境里输入:ls -l 可以查看当前目录文件。如:drwxr-xr-x 2 nsf users 1024 12-10 17:37 下载文件备份分别对应的是:文件属性 连…

电脑上面玩Android 游戏(.apk文件)

Android模拟器, 下载地址 http://files.cnblogs.com/jx270/BlueStacks-SplitInstaller_native.rar 下载完毕后解压,双击安装, 然后自己去下一些.apk文件,双击即可在电脑上面使用 ps自己配一个手柄,玩游戏不错,

以太网MAC地址

M AC地址有48位,但它通常被表示为12位的点分十六进制数。MAC地址全球唯一,由IEEE对这些地址进行管理和分配。每个地址由两部分组成,分别是供应商代码和序列号。其中前24位二进制代表该供应商代码。剩下的24位由厂商自己分配。 如果48位全是1&…

JQuery最佳实践

作者: 阮一峰 日期: 2011年8月 4日 上周,我整理了《jQuery设计思想》。 那篇文章是一篇入门教程,从设计思想的角度,讲解"怎么使用jQuery"。今天的文章则是更进一步,讲解"如何用好jQuery&quo…

Extracting Text From Image

Microsoft Office Document Imaging 虚拟打印机http://www.codeproject.com/Articles/10130/OCR-with-Microsoft-OfficeExtracting Text From ImageThe following program shows you how to extract text from image. For this youll have add reference (under COM tab) of &q…

Linux平台gcc和动态共享库的基础知识

http://www.javaeye.com/topic/261176 对大多数不从事Linux平台C语言开发的人来说,GNU gcc的一套工具和Linux平台的共享库的使用还是十分陌生的,其实我也不太熟悉,姑且写点基础知识,权当做备忘吧。 一、GNU gcc的编译工具用法 我们…

Excel-在整个工作簿中查找/替换

13、在整个工作簿中查找/替换 调范围为:工作簿,默认是工作表; 转载于:https://www.cnblogs.com/Formulate0303/p/10885194.html

WCF服务实例激活类型编程与开发(转)

【引言】: 在WCF分布式开发必备知识(2):.Net Remoting这 篇文章里我已经介绍过了Net Remoting相关的概念,其中也包括Net Remoting的激活方式:SingleTon模式、SingleCall模式、客户端激活方式。其实WCF服务的激活方式也与此相似。服务激活方式…

UltraEdit中显示空格与回车的问题

原网址:http://blog.sina.com.cn/s/blog_4983ea900100ikot.html ue中如何显示空格及行结尾呢? 视图-->显示空格/制表符and显示行结尾 空格显示为: “”————实际上,有时候是_,有时候是全角的制表符显示为: “&…

DAT模块简介

转自:http://blog.sina.com.cn/s/blog_48fc29af0100ncdu.html DAT模块函数在DM642的EDMA操作中用于搬运数据。DAT_busy()函数用于检测EDMA数据传输过程是否已经结束,定义如下:Uint32 DAT_busy(Uint32 ID); DAT_busy()函数如果返回一个非零值&…

P2237 [USACO14FEB]自动完成Auto-complete

题意大概就是:给出n个字符串,有m个询问:每次给出字符串s,整数k,问在所有以s为前缀的字符串中,字典序第k大的,是那n个串中的第几个。 我一开始做的时候忽略了一个问题:就是对于两个串…

HP-UX的终端TERM要设置成什么,才能输入中文呢?

再问一下,HP-UX的终端TERM要设置成什么,才能输入中文呢? 我试了,可以了,谢谢!非常感谢!/etc/profile中export LANGzh_CN.hp15CNstty cs8stty -istripstty -parenb怎么要设置这么多呀?我单独只设置stty -istrip也可以了,想请教你为什么要设置那么多??谢谢! 网址&#xff1a…

【SDOI 2011】Paint 染色

http://www.zybbs.org/JudgeOnline/problem.php?id2243 题目大意&#xff1a;给你一棵树&#xff0c;节点有颜色&#xff0c;要求可以查询某路径中连续颜色段的数目和修改某一段路径的颜色。 两次拉实之后查询和修改即可。 #include <iostream> #include <cstdio>…

部署Windows Server Update Services 4.0

在 Windows Server 2012 中&#xff0c;WSUS 是可安装以管理和分配更新的服务器角色。WSUS 服务器可以作为组织内其他 WSUS 服务器的更新源。充当更新源的 WSUS 服务器被称为上游服务器。在 WSUS 实现过程中&#xff0c;网络中必须至少有一台 WSUS 服务器连接到 Microsoft 更新…

克罗谈投资策略09

第七章 把注意力集中在长期趋势上&#xff08;2&#xff09; 我接到很多交易者寄来的信和打来的电话&#xff0c;谈论投机交易的各个层面。但是其中匹兹堡一位专业交易者1984年8月所写的一封信&#xff0c;跟上面所说的主题有特别的关联&#xff1a; 大家都说在目前的市场情况下…

dedecms织梦最新0day

拿webshell的方法如下&#xff1a; 网传的都是说要知道后台才能利用&#xff0c;但不用&#xff0c;只要 plus 目录存在&#xff0c;服务器能外连&#xff0c;就能拿shell. 前题条件&#xff0c;必须准备好自己的dede数据库&#xff0c;然后插入数据&#xff1a; insert into d…

JSP注释方法

<html><head><title>注释</title></head><body><!-- --> 这些是显示注释&#xff0c;不在页面中显示&#xff0c;但可以在客户端HTML源文件中看到&#xff0c;会被JSP引擎解释<!--例如&#xff1a;本文件加载日期为<%new …

《统计学习方法》(李航)读书笔记(转)

《统计学习方法》(李航)读书笔记(转) http://www.cnblogs.com/limitlessun/p/8611103.html#_label4阅读目录 知识点感知机k近邻法朴素贝叶斯决策树logistic回归和最大熵模型支持向量机提升方法EM算法隐马尔可夫模型(HMM)统计学习方法总结神经网络K-MeansBaggingApriori降维方法…

Windows 关闭进程例子

HANDLE handle CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);PROCESSENTRY32* info new PROCESSENTRY32;info->dwSize sizeof(PROCESSENTRY32);if(Process32First(handle,info)){if(GetLastError()ERROR_NO_MORE_FILES){TRACE("进程查找初始化失败&#xff01;&…