SMS-GSM

SMS-GSM  短信模块,不想通过第三方的接口,自己搭建短信模块,提高信息安全。

/**/
package sms;import com.diagcn.smslib.CMessage;
import com.diagcn.smslib.COutgoingMessage;
import com.diagcn.smslib.SZHTOCService;/*** 短信模块** @author ZengWenFeng* @email 117791303@qq.com* @mobile 13805029595* @date 2017.05.04*/
public class SampleClass
{/*** @param args*/public static void main(String[] args){// 与短信设备建立连接,参数 1、端口号,2、速率,3、短信设备牌子,4、短信设备型号SZHTOCService srv = new SZHTOCService("COM3", 9600, "Wavecom", "");try{// 设置短信中心号码//福州 +8613800591500 漳州 +8613800596500 //厦门 +8613800592500 龙岩 +8613800597500 //宁德 +8613800593500 三明 +8613800598500 //莆田 +8613800594500 南平 +8613800599500 //泉州 +8613800595500// 8613800471500 辽宁省鞍山市移动短信中心号码// 8613800592500 厦门srv.setSmscNumber("+8613800471500");// 连接设备srv.connect();// 连接成功,可以显示短信设备状态System.out.println("Mobile Device Information: ");System.out.println("Manufacturer  : " + srv.getDeviceInfo().getManufacturer());System.out.println("Model         : " + srv.getDeviceInfo().getModel());System.out.println("Serial No     : " + srv.getDeviceInfo().getSerialNo());System.out.println("IMSI          : " + srv.getDeviceInfo().getImsi());System.out.println("S/W Version   : " + srv.getDeviceInfo().getSwVersion());System.out.println("Battery Level : " + srv.getDeviceInfo().getBatteryLevel() + "%");System.out.println("Signal Level  : " + srv.getDeviceInfo().getSignalLevel() + "%");// 创建发送对象COutgoingMessage msg = new COutgoingMessage("13805029595", "ZengWenFeng,test");// 设置编码msg.setMessageEncoding(CMessage.MessageEncoding.EncUcs2);// 此短信需要状态回复msg.setStatusReport(true);// 短信有效期msg.setValidityPeriod(8);// 发送短信srv.sendMessage(msg);// 接收短信代码====================================================================
//			LinkedList<CIncomingMessage> msgList = new LinkedList<CIncomingMessage>();
//			srv.readMessages(msgList, CIncomingMessage.MessageClass.All);
//			for (int i = 0; i < msgList.size(); i++)
//			{
//				CIncomingMessage message = msgList.get(i);
//
//				if (message instanceof CStatusReportMessage)
//				{
//					// 此短消息为 状态回复短消息
//				}
//
//				srv.deleteMessage(message); // 删除都到的短信
//			}// ==============================================================================srv.disconnect();}catch (Exception e){e.printStackTrace();}}
}

==下面是人家做的接口,唯一缺点就是安全问题==

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

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

相关文章

汇编:头文件

汇编头文件&#xff08;header files&#xff09;在汇编语言编程中类似于高层语言中的头文件&#xff0c;它们通常包含宏定义、常量定义、数据结构定义、函数声明以及其他在多个汇编源文件中共享的代码&#xff1b;使用头文件可以提高代码的可维护性和可读性&#xff0c;并使代…

【全开源】云调查考试问卷系统(FastAdmin+ThinkPHP+Uniapp)

便捷、高效的在线调研与考试新选择​ 云调查考试问卷是一款基于FastAdminThinkPHPUniapp开发的问卷调查考试软件&#xff0c;可以自由让每一个用户自由发起调查问卷、考试问卷。发布的问卷允许控制问卷的搜集、回答等各个环节的设置&#xff0c;同时支持系统模板问卷&#xff…

11、架构-从类库到服务之客户端负载均衡

目录 主要概念 客户端负载均衡的定义与重要性 历史背景 技术细节 客户端负载均衡的实现方式 工作原理 常见的客户端负载均衡策略 实际应用 Netflix Ribbon Spring Cloud LoadBalancer 服务网格&#xff08;Service Mesh&#xff09; 代理负载均衡器 工作原理 优点…

Android UI:Drawable:DrawableContainer

文章目录 定义API 类操作源码分析 ImageView.setImageLevel选择LevelListDrawable中的DrawableDrawableContainer封装Drawable[]数组AnimationScaleListDrawable.start总结定义 DrawableContainer封装一组Drawable,不同的DrawableContainer实现Drawable不同的展示方式 API …

linux内存缓存占用过高分析和优化

1、什么是buffer/cache &#xff1f; buffer/cache其实是作为服务器系统的文件数据缓存使用的&#xff0c;尤其是针对进程对文件存在read/write操作的时候&#xff0c;所以当你的服务进程在对文件进行读写的时候&#xff0c;Linux内核为了提高服务的读写速度&#xff0c;则将会…

机器学习之数学基础 时间复杂度和空间复杂度

机器学习之数学基础中&#xff0c;时间复杂度和空间复杂度是两个至关重要的概念&#xff0c;它们分别用于描述算法在执行过程中所需的时间和空间资源。在机器学习的各个领域中&#xff0c;从数据预处理到模型训练&#xff0c;再到最终的预测和评估&#xff0c;都需要考虑到这两…

VMware ESXi 8.0U2c macOS Unlocker OEM BIOS 集成网卡驱动 Marvell AQC 网卡定制版

VMware ESXi 8.0U2c macOS Unlocker & OEM BIOS 集成网卡驱动 Marvell AQC 网卡定制版 VMware ESXi 8.0U2c macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版) 发布 ESXi 8.0U2 集成驱动版&#xff0c;在个人电脑上运行企业级工作负载 请访问原文链…

TMS320F280049学习4:GPIO输入检测

TMS320F280049学习4&#xff1a;GPIO输入检测 文章目录 TMS320F280049学习4&#xff1a;GPIO输入检测前言一、工程代码总结 前言 DSP的内部输入上拉是弱上拉&#xff0c;上拉后的电压只有2.1V左右&#xff0c;需要外部加上拉电阻&#xff0c;具体参考这篇文章。 一、工程代码…

UG编程序怎么加刀补:深度解析与实用技巧

UG编程序怎么加刀补&#xff1a;深度解析与实用技巧 在UG编程中&#xff0c;刀补的添加是一个关键且复杂的步骤。正确地进行刀补设置&#xff0c;不仅能提高加工精度&#xff0c;还能有效避免刀具磨损和工件损伤。本文将从四个方面、五个方面、六个方面和七个方面详细解析如何…

Scratch编程从入门到精通:探索编程的奇幻世界

Scratch编程从入门到精通&#xff1a;探索编程的奇幻世界 在数字化时代的浪潮中&#xff0c;编程技能已成为一项不可或缺的能力。而Scratch&#xff0c;作为一款为青少年设计的图形化编程语言&#xff0c;以其直观易懂的界面和强大的功能&#xff0c;成为了编程初学者的理想选…

HQL面试题练习 —— 求连续段的最后一个数及每个连续段的个数

目录 1 题目2 建表语句3 题解 题目来源&#xff1a;拼多多。 1 题目 有一张表t_id记录了id&#xff0c;id不重复&#xff0c;但是会存在间断&#xff0c;求出连续段的最后一个数及每个连续段的个数。 ----- | id | ----- | 1 | | 2 | | 3 | | 5 | | 6 | | 8 | | …

风电功率预测 | 基于支持向量机结合ARIMA-SVM实现风电功率预测附matlab代码

基本介绍 引言&#xff1a;介绍风电功率预测的背景和意义&#xff0c;以及目前常用的预测方法的局限性。 相关理论介绍&#xff1a; ARIMA模型&#xff1a;解释ARIMA模型的基本原理和应用范围&#xff0c;包括自回归&#xff08;AR&#xff09;、差分&#xff08;I&#xff09…

网线制作(双绞线+水晶头)——T568B标准

参考视频&#xff1a;https://www.bilibili.com/video/BV1KQ4y1i7zP/ 1、使用剥线器 2、将线捋顺、排序、剪掉牵引线 记忆技巧 1.线序颜色整体是一浅一深 2.颜色顺序是黄、蓝、绿、棕 一个黄种人、从上向下看&#xff0c;分别看到的是蓝天、青草(绿)、泥土(棕色) 3.中间两根浅…

手撸一个动态多数据源注入框架

创建一个动态多数据源注入插件涉及到设计一个能够在运行时根据配置或参数动态选择和使用不同数据源的机制。在Java Spring框架中&#xff0c;这通常通过自定义数据源路由、配置管理和依赖注入来实现。以下是一个简化的示例&#xff0c;展示了如何创建一个基本的动态多数据源注入…

数据挖掘--聚类分析:基本概念和方法

数据挖掘--引论 数据挖掘--认识数据 数据挖掘--数据预处理 数据挖掘--数据仓库与联机分析处理 数据挖掘--挖掘频繁模式、关联和相关性&#xff1a;基本概念和方法 数据挖掘--分类 数据挖掘--聚类分析&#xff1a;基本概念和方法 聚类分析 聚类分析是把一个数据对象&…

Element UI上传图片和PDF,支持预览,并支持复制黏贴上传

背景 如上图&#xff0c;使用Element UI的el-upload组件&#xff0c;并且预览的时候可以展示图片和PDF格式文件&#xff1b; 做法 index.vue <template><div><el-uploadv-model"diaForm.list":limit"5":on-exceed"handleExceed"…

微信小程序毕业设计-综合文化信息管理系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

算法课程笔记——蓝桥第17次直播云课

算法课程笔记——蓝桥第17次直播云课 递归 改成signed&#xff0c;把所有int 改成longlong 100会越界

使用Ollama+OpenWebUI本地部署Gemma谷歌AI开放大模型完整指南

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;AI大模型部署与应用专栏&#xff1a;点击&#xff01; &#x1f916;Ollama部署LLM专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年6月4日10点50分 &#x1f004;️文章质量&#xff1…

axios设置 responseType为 “stream“流式获取后端数据

使用前景&#xff1a; 工作过程中遇到了后端接口响应过慢&#xff0c;前端界面一致loading的情况&#xff0c;这个时候可以尝试采用将Axios的responseType参数被设置为stream类型实现。 stream介绍&#xff1a; stream类型意味着你希望服务器响应的数据以Node.js流&#xff…