多平台统一管理软件接口,如何实现多平台统一管理软件接口
572
2023-01-02
本文目录一览:
/**
* Deal Post Request.
*/
package com.dc.util;
import java.util.Map;
import java.util.Iterator;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.HttpException;
public class PostRequest implements java.io.Serializable {
private Map parameters;
private String url;
public PostRequest() {
}
public void setParameters(Map param) {
if (param != null)
parameters = param;
}
public Map getParameters() {
return parameters;
}
public void setUrl(String url) {
if (url != null !(url.equals("")))
this.url = url;
}
public String getUrl() {
return url;
}
public String getPost() throws java.io.IOException, HttpException {
if (url == null || url.equals("") || parameters == null)
throw new IllegalStateException(
"Invalid url or parameters in PostBean.getPost method.");
String returnData = "";
HttpClient httpClient = new HttpClient();
PostMethod postMethod = new PostMethod(url);
NameValuePair[] postData = getParams(parameters);
postMethod.getParams().setContentCharset("GBK");
postMethod.addParameters(postData);
httpClient.executeMethod(postMethod);
if (postMethod.getStatusCode() == HttpStatus.SC_OK) {
returnData = postMethod.getResponseBodyAsString();
} else {
returnData = "error: " + postMethod.getStatusLine();
}
postMethod.releaseConnection();
return returnData;
}
private NameValuePair[] getParams(Map map) {
NameValuePair[] pairs = new NameValuePair[map.size()];
Iterator iter = map.keySet().iterator();
int i = 0;
while (iter.hasNext()) {
String key = (String) iter.next();
pairs[i] = new NameValuePair(key, (String) map.get(key));
i++;
}
return pairs;
}
}
实现方法:
public class DCSMSender{
PostRequest pr = new PostRequest();
public static String smsUrl = DomainGlobal.SMS_URL;
private static DCSMSender instance = new DCSMSender();
public static DCSMSender getInstance() {
return instance;
}
private DCSMSender() {
}
/**
* 向指定手机号码(可多个)发送指定信息
*
* @param cellPhones 手机号
* @param msg 短信内容
* @return 成功、失败
*/
public boolean send(String[] cellPhones, String msg) {
Map param = new HashMap();
String result = "";
param.put("cellPhones", java.util.Arrays.toString(cellPhones));
param.put("msg", DcipherTrans.cipher("system", msg, true));
pr.setParameters(param);
pr.setUrl(smsUrl);
try {
result = pr.getPost();
if ("1".equals(result)) return true;
else return false;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
这是我项目里用到的发短信的方法。
望采纳
package com.szqbl.qxfz.io;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.URIException;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.util.URIUtil;
import org.apache.commons.lang3.StringUtils;
import com.szqbl.lib.util.MD5Util;
public class SMSUtil {
public static void sendSMS_GM(List<String mobileno, String content) {
String eprId = "***";
String userId = "******";//用户名
String pwd = "******";//密码
long timestamp = System.currentTimeMillis();
int msgId = (int) (Math.random() * 1000);
String key = MD5Util.string2MD5(eprId + userId + pwd + timestamp);
String mobile = "";
for (String tel : mobileno) {
mobile += isMobile(tel) ? tel + "," : "";
}
if (StringUtils.isNotEmpty(mobile)) {
mobile = mobile.substring(0, mobile.length() - 1);
}
String url = "http://client.sms10000.com/***";
String parmString = "?cmd=sendeprId=" + eprId + "userId=" + userId + "key=" + key + "timestamp=" + timestamp
+ "format=1mobile=" + mobile + "msgId=" + msgId + "content=" + content;
// 发送短信
String result = doGet(url, parmString, "utf-8", false);
System.out.println(result);
}
/**
* 手机号验证
*
* @param str
* @return 验证通过返回true
*/
public static boolean isMobile(String str) {
Pattern p = null;
Matcher m = null;
boolean b = false;
p = Pattern.compile("^[1][3,4,5,8][0-9]{9}$"); // 验证手机号
m = p.matcher(str);
b = m.matches();
return b;
}
/**
* 执行一个HTTP GET请求短信接口测试工具,返回请求响应短信接口测试工具的HTML
*
* @param url
* 请求的URL地址
* @param queryString
* 请求的查询参数,可以为null
* @param charset
* 字符集
* @param pretty
* 是否美化
* @return 返回请求响应的HTML
*/
public static String doGet(String url, String queryString, String charset, boolean pretty) {
StringBuffer response = new StringBuffer();
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod(url);
try {
if (queryString != null !queryString.equals(""))
// 对get请求参数做短信接口测试工具了http请求默认编码,好像没有任何问题,汉字编码后,就成为%式样的字符串
method.setQueryString(URIUtil.encodeQuery(queryString));
client.executeMethod(method);
if (method.getStatusCode() == HttpStatus.SC_OK) {
BufferedReader reader = new BufferedReader(
new InputStreamReader(method.getResponseBodyAsStream(), charset));
String line;
while ((line = reader.readLine()) != null) {
if (pretty)
response.append(line).append(System.getProperty("line.separator"));
else
response.append(line);
}
reader.close();
}
} catch (URIException e) {
} catch (IOException e) {
} finally {
method.releaseConnection();
}
return response.toString();
}
public static void main(String[] args) throws Exception {
List<String tels = new ArrayList<String();
tels.add("18288888888");
sendSMS_GM(tels, "短信main测试短信接口测试工具!");
}
}
这个得根据你的短信接口文档来,大概也就这样,写的比较简单,忘采纳!
首先要说到手机短信验证码的用途,手机短信验证码的用途(1)防止别人恶意的频繁的注册或提交数据(2)可以绑定到用户手机,和客户建立一个连接。
短信验证码主要的考核要素有三个:到达率(是否能在非手机用户自身的条件和环境的下到达用户手机上)、及时性(是否能及时的下发到用户手机上)、稳定性(短信平台能否全年无故障的提供服务),这三点很重要。
其次还要了解短信平台公司的技术实力和服务质量,为啥我没有强调从事短信的年头,是因为很多老的公司一成不变的在使用老的方式和技术平台,显然随着互联网技术的快速发展,早已不能满足现在市场上的客户需求,建议从事该行业两年以前的公司而且有相应正规资质的公司可以考虑。我们公司用的是巴卜短信平台,这个公司以前主要是作软件开发的,也搭建了自己的短信平台,之后为了更为专注的提供移动通信服务独立了北京巴卜技术公司。另外手机在使用平台时有时会遇到验证码接收不到:可以检查是否有如下问题:
(1)手机装了拦截软件;
(2)手机关机、暂无信号、欠费或者停机;
(3)手机欠费停机充值后手机还没有由停机状态切换为正常状态;
(4)用户自己在运营商那边设置了黑名单;
(5)手机无法接收长度超过70个字的短信;
(6)手机在境外使用或者使用境外手机;
(7)手机短信息存储满了;
(8)个别地区有手机网络、运营商故障等;
(9)超次数下发短信。
最后提醒的是短信平台是不分区域的,并不是说当地的就好,外地的短信服务商就不好,没有区域划分质量的等级的,只是近区域的你可能方便去公司了解,但真正用到的也是通过网络操作的。
.
.
.
······································
Ghost win7安装如下:1、首先将u盘制作成u启动u盘启动盘,重启电脑等待出现开机画面按下启动快捷键,选择u盘启动进入到u启动主菜单,选取“【02】u启动Win8PE(新机器)”选项,按下回车键确认2、进入win8PE系统,将会自行弹出安装工具,点击“浏览”进行选择存到u盘中win7系统镜像文件。3、等待u启动pe装机工具自动加载win7系统镜像包安装文件,只需选择安装磁盘位置,然后点击“确定”按钮即可。4、此时在弹出的提示窗口直接点击“确定”按钮。5、随后安装工具开始工作,请耐心等待几分钟。6、完成后会弹出重启电脑提示,点击“是(Y)”按钮即可。7 、此时就可以拔除u盘了,重启系统开始进行安装,我们无需进行操作,等待安装完成即可,最终进入系统桌面前还会重启一次
短信攻击器就是短信轰炸机。短信轰炸机,就是批量循环给手机无限发送各种网站的注册验证码短信,真正强大的短信轰炸机一秒能超过一百条短信。
短信轰炸机是整蛊朋友、对付骚扰电话最好的工具。可以对移动、联通、电信手机发送大量的短信,使对方手机时刻处于接收短信状态,一个强大的短信轰炸机能做到每秒发送上百条短信,一般手机都收不了这么快。不过这种软件一般都很少见,请勿用于非法途径。
这种软件的原理就是批量访问接口(本文中的接口是指很多网站发短信的接口),每个网站都有他自己的短信接口,比如“ 输入手机号 ”点发送验证码,就会去访问这个的接口,然后就来验证码短信了,短信轰炸机就是利用这点,用内置的很多接口,无限访问这些接口,手机就会一直收到超多的注册短信,这就是短信轰炸。
1) 看报价单
不同厂家提供的报价单中包含的功能列表是不一样的短信接口测试工具,如国内企业邮箱品牌TurboMail,相对于其短信接口测试工具他企业邮箱,功能全面、性价比高。
2) 同一个功能实现的不同程度和深度 TurboMail产品核心功能模块: TurboMail增值功能模块: 1. PC电脑Webmail 15. 系统备份 2. 手机邮件 16. 组织机构管理 3. WebAdmin 17. 增强版公告 4. 短信接口 18. 邮件监控 5. 反垃圾邮件引擎 (TurboGate Pro) 19. 多级邮件审核 6. 反病毒邮件引擎(ClamAV) 20. 权限管理平台 7. 高级中继 21. 邮件跟踪撤回 8. 标准API开发包 22. 日程安排 9. 邮件列表 23. 网络硬盘 10. 邮件智能过滤 24. 邮件中转站 11. 收发限制管理 25. Outlook地址簿同步连接器 12. 系统监控 26. 邮件贺卡 13. 系统日志 27. 企业信纸 14. 统计分析 28. 语音视频邮件 系统稳定性,唯有经过用户测试或者压力测试才能检验其稳定性。建议客户在经过多方考究后,进行邮件系统的压力测试和生产环节正式试用。当然测试最好是免费的,这样才会降低采购风险。像是TurboMail企业邮箱会为客户提供免费压力测试工具协助客户的测试,这类型邮箱企业自然就口碑好很多。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~