postman 调试 传base64字符串 原来选xml

server/2024/11/13 5:32:18/

上个图

工具类

package org.springblade.common.utils;import com.alibaba.fastjson.JSONObject;
import org.springblade.modules.tc.mas.Submit;import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;/*** 云MAS平台  短信工具类*/
public class MasUtil {public static void main(String[] args) throws Exception {String urlString = "http:/xxxx/sms/norsubmit";try {URL url = new URL(urlString);HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("POST");connection.setDoOutput(true);connection.setRequestProperty("Content-Type", "application/xml");String postData = GetSmsParam();OutputStream outputStream = connection.getOutputStream();outputStream.write(postData.getBytes("UTF-8"));outputStream.flush();outputStream.close();int responseCode = connection.getResponseCode();System.out.println(responseCode);if (responseCode == HttpURLConnection.HTTP_OK) {InputStream inputStream = connection.getInputStream();BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));String line;StringBuffer response = new StringBuffer();while ((line = reader.readLine()) != null) {response.append(line);}reader.close();System.out.println("Response: " + response.toString());} else {System.out.println("POST request failed with response code: " + responseCode);}connection.disconnect();} catch (Exception e) {e.printStackTrace();}}/*** base64** @param input* @return*/private static String encodeBase64String(String input) {// 将字符串转换为字节数组byte[] bytes = input.getBytes();// 对字节数组进行Base64编码String base64Encoded = Base64.getEncoder().encodeToString(bytes);// 输出Base64编码后的字符串System.out.println("Base64编码后的字符串:" + base64Encoded);return base64Encoded;}/*** MD5加密(32位小写)** @param input* @return*/private static String encryptToMD5(String input) {try {// 创建MessageDigest对象并指定算法为MD5MessageDigest md = MessageDigest.getInstance("MD5");// 将字符串转换为字节数组并进行加密byte[] mdBytes = md.digest(input.getBytes());// 将字节数组转换为对应的十六进制字符串StringBuilder hexString = new StringBuilder();for (byte mdByte : mdBytes) {// 通过位运算和与操作将字节转换为十六进制字符串String hex = Integer.toHexString(0xff & mdByte);if (hex.length() == 1) hexString.append('0');hexString.append(hex);}// 输出加密后的字符串System.out.println("加密后的字符串:" + hexString.toString());return hexString.toString();} catch (NoSuchAlgorithmException e) {// 处理算法不存在的异常e.printStackTrace();}return input;}public static String GetSmsParam() throws Exception {Submit submit = new Submit();submit.setEcName("接口联调账号");submit.setApId("rtzhxx");submit.setSecretKey("asasas");submit.setMobiles("asas7");submit.setContent("移as生活");submit.setSign("bM1asa);submit.setAddSerial("");StringBuffer stringBuffer = new StringBuffer();stringBuffer.append(submit.getEcName());stringBuffer.append(submit.getApId());stringBuffer.append(submit.getSecretKey());stringBuffer.append(submit.getMobiles());stringBuffer.append(submit.getContent());stringBuffer.append(submit.getSign());stringBuffer.append(submit.getAddSerial());String selfMac = encryptToMD5(stringBuffer.toString());System.out.println("selfMac:" + selfMac);submit.setMac(selfMac);String param = JSONObject.toJSONString(submit);System.out.println("param:" + param);String encode = encodeBase64String(param);return encode;}}


http://www.ppmy.cn/server/11485.html

相关文章

【vue】el-tree的新增/编辑/删除节点

1、概述 关于树形结构的新增同级节点&#xff0c;新增子级节点&#xff0c;修改节点名称&#xff0c;删除节点等四种操作&#xff0c;各种参数配置完全继承el-tree&#xff0c;本篇使用vue2 element-ui 2、效果图展示 3、调用方式 <template><Tree:data"tree…

程序员面试必备:Object类,你学会了吗?

在 Java 编程中&#xff0c;Object 类是所有类的根类&#xff0c;了解 Object 类的原理和功能对于成为一名优秀的 Java 程序员至关重要。 本文将深入介绍 Object 类&#xff0c;帮助准备面试的程序员更好地理解这个关键的 Java 类。 什么是 Object 类&#xff1f; Object 类…

MySQL数据库企业级开发技术(下篇)

使用语言 MySQL 使用工具 Navicat Premium 16 代码能力快速提升小方法&#xff0c;看完代码自己敲一遍&#xff0c;十分有用 拖动表名到查询文件中就可以直接把名字拉进来中括号&#xff0c;就代表可写可不写 目录 1. 视图 1.1 需要视图的原因 1.2 视图介绍 1.2.1 …

《Spring》系列文章目录

Spring Framework是一个为基于Java的现代企业应用程序提供全面编程和配置模型的开源框架。它集成了控制反转&#xff08;IOC&#xff09;、依赖注入&#xff08;DI&#xff09;和面向切面编程&#xff08;AOP&#xff09;等容器技术。Spring框架的设计理念是面向Bean编程&#…

齐次变换矩阵、欧拉角

目录 齐次变换矩阵旋转矩阵如何计算平移矩阵如何计算实例 欧拉角和齐次变换矩阵互相转换 齐次变换矩阵 因为老是忘记齐次变换矩阵的含义以及方向&#xff0c;每次推导公式都很费劲&#xff0c;写下这篇文章用于快速回顾齐次变换矩阵。 表示的是&#xff1a;坐标系A到坐标系B的…

OPTEE RUST支持构建并运行支持RUST的CA和TA

目录 一、RUST环境及代码准备 二、RUST构建演示 三、RUST运行演示 RUST语言,由于其更安全的编程语言特性,OPTEE作为可信执行环境的开源实现也增加了对RUST的支持。那么如何构建并运行支持RUST的CA和TA呢,本博客来探讨并进行qemu环境的实际演示。 一、RUST环境及代码准备…

LeetCode热题Hot100 - 最长有效括号

一刷~ 给你一个只包含 ( 和 ) 的字符串&#xff0c;找出最长有效&#xff08;格式正确且连续&#xff09;括号子串的长度。 思路&#xff1a; 用栈保存最近的一个非有效括号子串的位置&#xff0c;当遇到(时&#xff0c;把当前下标入栈。遇到)时&#xff0c;出栈&#xff0c;出…

javaScript数组-(进阶算法)-计算正整数各个位数上的数字之和

基础 javaScript数组-(进阶算法)-计算正整数各个位数上的数字之和 function sumDigits(num) {// 检查输入是否为数字&#xff0c;增强代码健壮性if (typeof num ! number || isNaN(num) || !isFinite(num)) {throw new Error(Input must be a finite number);}let sum 0;let…