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,一经查实,立即删除!

相关文章

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

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

JQuery最佳实践

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

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

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

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

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

部署Windows Server Update Services 4.0

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

克罗谈投资策略09

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

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

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

html奇淫技巧 2 教你如何进行图文环绕布局 原创

在群里无意看到了盆友想要布局一个图文环绕的布局,问有没有什么办法实现,上网查了下,都感觉忽悠人的。 js 方面学的不怎么好,但是页面这块是不服输的。 于是就进行了研究,需求如下: 起先看到这张需求我是有…

Lync与Exchange 2013 UM集成:Lync Server配置

在完成了对Exchange的UM功能进行配置之后,我们要把UM的功能与Lync做集成的话还需要在Lync这边做一些配置。首先我们打开Lync前端服务器,然后打开核心组件安装目录下的Support文件夹,然后双击OcsUmUtil。打开之后我们单击加载数据,…

在ubuntu中为程序添加图标快捷键

2019独角兽企业重金招聘Python工程师标准>>> 比如我在我的ubuntu上安装了javaEE eclipse,这个软件直接解压就可以用,这时在导航栏里没有对应图标,在左上角的软件中心中也没有图标,每次启动它得用命令来启动&#xff0c…

更改消息存储的位置

2019独角兽企业重金招聘Python工程师标准>>> 更改消息存储的位置 将消息存储位置更改为另一目录或文件系统。 开始之前 记录部署至要配置的集群的 IBM Lotus Connections 功能部件。 关于此任务 集群成员多于一个节点时,消息存储必须对集群中位于相同物…

【原创】StreamInsight查询系列(三)——基本查询操作之过滤

上篇博文介绍了如何在LINQPad中输出StreamInsight查询结果。这篇文章将主要介绍StreamInsight基础查询操作中的过滤部分。 测试数据准备 为了方便测试查询,我们首先准备一个静态的测试数据源:var weatherData new[] {new { Timestamp new DateTime(201…

设计模式之四(抽象工厂模式第二回合)

前言 在第一回合中留下的问题,http://www.cnblogs.com/aehyok/archive/2013/05/19/3087497.html,现在就先处理一个简单的,只添加一个Department表。 第二回合 首先要建立部门类,假设只有两个字段部门ID,和部门名称。 p…

第一章-起步

1、安装python3环境 windows: 到python官网下载python3安装包,下载地址:https://www.python.org/ftp/python/3.7.3/python-3.7.3-amd64.exe 双击安装运行即可,注意:需要勾选add python 3.7 to path linux: …

ASP.NET 4.0升级至ASP.NET 4.5需要注意的地方

原文 http://www.cnblogs.com/dudu/archive/2013/05/20/3087791.html 原以为只要在Visual Studio 2012中将每个项目的Target framework设置为.NET Framewor 4.5进行编译,然后在web.config中设置compilation的targetFramework为4.5,就升级到了ASP.NET 4.5…

chrome扩展之3:一步步跟我学开发一个表单填写扩展

这节课实现的效果如下图所示: 我们先想一想,怎么样才可以在搜索框上输入内容呢,当然可以手动输入^_^,除了这个之外呢?如果您有这个页面的后台编辑权限就可以直接修改这个页面的内容。当然,这个页面是google的,我们没有…

mysql 重置root密码

myini文件增加命令 (1)在my.ini文件的[mysqld]块下增加“skip_grant_tables”,然后重启mysql服务,再以管理员权限打开cmd执行一些列命令重置密码 mysql> use mysql;Database changedmysql> update user set authentication_…

[读书笔记]TCP/IP详解V1读书笔记-3

IP: 无连接:数据报到达没有先后顺序,处理先后发送的数据报之间没有关联。 不可靠:数据报丢失后没有处理,简单向源地址发送 ----------------------------- ---------------------------------- 网络字节序:…

CAL(1)

为什么80%的码农都做不了架构师?>>> CAL(1) BSD General Commands Manual CAL(1) NAME cal - displays a calendar SYNOPSIS cal [-smjy13] [[[day] month] year] DESCRIPTION Cal displays a simple calendar. If arguments …

vbox虚拟机配置Redhat6.4本地yum源

作为一个新手,配置这个yum源配了4天,遇到了各种问题,也按照网络上面一些方法在163上面下载CentOS6的yum源来替换Redhat本地的yum源,但是配置过程中,出现很多错误,发现直接在本地配置yum源会更便捷一点&…