Java通过SMS短信平台实现发短信功能 含多语言_java

Java通过SMS短信平台实现发短信功能 

在项目中使用过发短信的功能,但那个由于公司内部的限制很麻烦,今天在网上找到一个简单的,闲来无事就把它记录如下:

本程序是通过使用中国网建提供的SMS短信平台实现的(该平台目前为注册用户提供5条免费短信,3条免费彩信,这足够用于我们测试用了。在使用前需要注册,注册地址为http://sms.webchinese.cn/reg.shtml),下面是程序源码: 

 /**
* @Author dengsilinming
* @Date 2012-9-18
*
*/
package com.dengsilinming.mail; 

import java.io.IOException;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod; 

public class SendMsg_webchinese { 

/**
* @author dengsilinming
* @date Sep 18, 2012
* @time 9:38:25 AM
* @param args
* @throws IOException
* @throws HttpException
* @description
*/
public static void main(String[] args) throws HttpException, IOException {
HttpClient client = new HttpClient();
PostMethod post = new PostMethod("http://gbk.sms.webchinese.cn");
// PostMethod post = new PostMethod("http://sms.webchinese.cn/web_api/");
post.addRequestHeader("Content-Type",
         "application/x-www-form-urlencoded;charset=gbk");// 在头文件中设置转码
    NameValuePair[] data = { new NameValuePair("Uid", "dengsilinming"),// 注册的用户名
new NameValuePair("Key", "72da78da5ff54f450505"),// 注册成功后,登录网站后得到的密钥
new NameValuePair("smsMob", "12345678900"),// 手机号码
new NameValuePair("smsText", "这是专用于测试的信息,能否正常发短信呢?") };// 短信内容
post.setRequestBody(data); 

client.executeMethod(post);
Header[] headers = post.getResponseHeaders();
int statusCode = post.getStatusCode();
System.out.println("statusCode:" + statusCode);
for (Header h : headers) {
System.out.println("---" + h.toString());
  }
  String result = new String(post.getResponseBodyAsString().getBytes(
        "gbk"));
   System.out.println(result); 

 } 

}  

需要用到的jar包共三个:
 commons-logging-1.1.1.jar
 commons-httpclient-3.1.jar
 commons-codec-1.4.jar 

以下内容摘自中国建网SMS短信通API : 

GBK编码发送接口地址:
 http://gbk.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全密码&smsMob=手机号码&smsText=短信内容
 UTF-8编码发送接口地址:
 http://utf8.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全密码&smsMob=手机号码&smsText=短信内容
 获取短信数量接口地址(UTF8):
 http://sms.webchinese.cn/web_api/SMS/?Action=SMS_Num&Uid=本站用户名&Key=接口安全密
 获取短信数量接口地址(GBK):
 http://sms.webchinese.cn/web_api/SMS/GBK/?Action=SMS_Num&Uid=本站用户名&Key=接口安全密码 

提示:HTTP调用URL接口时, 参数值必须URL编码后再调用 

多个手机号请用半角,隔开,如:13888888886,13888888887,1388888888 一次最多对50个手机发送
短信内容支持长短信,最多300个字,普通短信70个字/条,长短信64个字/条计费 

下面是不同的语言调用SMS接口的简单demo:
 1. ASP 调用

 <%
 '常用函数
 '输入url目标网页地址,返回值getHTTPPage是目标网页的html代码
 function getHTTPPage(url)
 dim Http
 set Http=server.createobject("MSXML2.XMLHTTP")
 Http.open "GET",url,false
 Http.send()
 if Http.readystate<>4 then
 exit function
 end if
 getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
 set http=nothing
 if err.number<>0 then err.Clear
 end function
 Function BytesToBstr(body,Cset)
 dim objstream
 set objstream = Server.CreateObject("adodb.stream")
 objstream.Type = 1
 objstream.Mode =3
 objstream.Open
 objstream.Write body
 objstream.Position = 0
 objstream.Type = 2
 objstream.Charset = Cset
 BytesToBstr = objstream.ReadText
 objstream.Close
 set objstream = nothing
 End Function

'自已组合一下提交的URL加入自己的账号和密码
 sms_url="http://sms.webchinese.cn/web_api/?Uid=账号&Key=接口密钥&smsMob=手机号码&smsText=短信内容"
 response.write getHTTPPage(sms_url)
 %>

2.C# 调用

 //需要用到的命名空间
 using System.Net;
 using System.IO;
 using System.Text;
 //调用时只需要把拼成的URL传给该函数即可。判断返回值即可
 public string GetHtmlFromUrl(string url)
 {
 string strRet = null;

if(url==null || url.Trim().ToString()=="")
 {
 return strRet;
 }
 string targeturl = url.Trim().ToString();
 try
 {
 HttpWebRequest hr = (HttpWebRequest)WebRequest.Create(targeturl);
 hr.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
 hr.Method = "GET";
 hr.Timeout = 30 * 60 * 1000;
 WebResponse hs = hr.GetResponse();
 Stream sr = hs.GetResponseStream();
 StreamReader ser = new StreamReader(sr, Encoding.Default);
 strRet = ser.ReadToEnd();
 }
 catch (Exception ex)
 {
 strRet = null;
 }
 return strRet;
 }

3.JAVA调用

 import java.io.UnsupportedEncodingException;
 import org.apache.commons.httpclient.Header;
 import org.apache.commons.httpclient.HttpClient;
 import org.apache.commons.httpclient.NameValuePair;
 import org.apache.commons.httpclient.methods.PostMethod;

public class SendMsg_webchinese {

public static void main(String[] args)throws Exception
 {

HttpClient client = new HttpClient();
 PostMethod post = new PostMethod("http://gbk.sms.webchinese.cn");
 post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//在头文件中设置转码
 NameValuePair[] data ={ new NameValuePair("Uid", "本站用户名"),new NameValuePair("Key", "接口安全密码"),new NameValuePair("smsMob","手机号码"),new NameValuePair("smsText","短信内容")};
 post.setRequestBody(data);

client.executeMethod(post);
 Header[] headers = post.getResponseHeaders();
 int statusCode = post.getStatusCode();
 System.out.println("statusCode:"+statusCode);
 for(Header h : headers)
 {
 System.out.println(h.toString());
 }
 String result = new String(post.getResponseBodyAsString().getBytes("gbk"));
 System.out.println(result);

post.releaseConnection();

}

}

 jar包下载
 commons-logging-1.1.1.jar
 commons-httpclient-3.1.jar
 commons-codec-1.4.jar 

4.PHP调用

$url='http://sms.webchinese.cn/web_api/?Uid=账号&Key=接口密钥&smsMob=手机号码&smsText=短信内容';

echo Get($url);
 function Get($url)
 {
 if(function_exists('file_get_contents'))
 {
 $file_contents = file_get_contents($url);
 }
 else
 {
 $ch = curl_init();
 $timeout = 5;
 curl_setopt ($ch, CURLOPT_URL, $url);
 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
 $file_contents = curl_exec($ch);
 curl_close($ch);
 }
 return $file_contents;
 }

5.VB.NET调用
'调用发送短信,NoList接收号码.多个之间用,分开,Memo内容70字

 Public Function SendSMS(ByVal NoList As String, ByVal Memo As String) As String
 Dim Url As String = "http://sms.webchinese.cn/web_api/?Uid=账号&Key=接口密钥&smsMob=手机号码&smsText=短信内容"
 Dim webClient As New Net.WebClient()
 Try
 'Dim responseData As Byte() =
 Dim srcString As String = webClient.DownloadString(Url)
 Return srcString
 Catch
 Return "-444"
 End Try
 End Function

 经过测试上面java源码是能够发送成功的,其它语言的没有测试。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
, 发短信
SMS短信平台
易语言猫池发短信源码、易语言发短信、java实现发短信、java实现免费发短信、易语言发短信源码,以便于您获取更多的相关知识。

时间: 2016-07-08

Java通过SMS短信平台实现发短信功能 含多语言_java的相关文章

开车发短信比不发短信危险23倍

据新华社电 美国一项为期18个月的调查研究结果显示,司机开车时发短信的危险系数远超之前实验室评估所得数据,发生车祸的几率是不发短信时的23倍. 美国<纽约时报>28日报道,弗吉尼亚理工大学运输学院的研究人员在长途运输卡车驾驶室内安装了摄像头,通过对100多名卡车司机长达18个月的跟踪调查后发现,司机边开车边发短信时,发生车祸的几率是不发短信时的23倍. 州立法下禁令 研究人员同时测试了卡车司机在收发短信时视线转移的时间.调查显示,在车祸发生或差点发生前,司机视线停留在手机屏幕上的时间一般接近5

java用户管理注册功能 含前后台代码_java

本文实例为大家分享了java用户注册功能,供大家参考,具体内容如下 主页面: 浏览器显示: 代码实现: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>用户信息管理</title> </head> <body> 用户注册:<br

SiteServerCMS携手时代互联短信平台破冰启航

互联网时代是内容为王的时代,在各大门户.新闻网站,大家争的只是那一点时间差,时间上的优势能为网站赢得更多的流量,进而发展成为忠实的受众.但是,由于互联网的便捷,使得这个时间差的争夺战越发激烈,由一个小时缩短到几分钟,甚至是几秒钟. 想要在这样激烈的竞争中赢得优势,传统的方法显然难以达到目的.因为对一个新闻资讯网站来说,首先是每天要整理更新的资讯实在太多,难免有些力不从心;其次,内容发布者与审核者之间存在时间上的误差,资讯没有得到及时审核,耽误了发布时间;最后,随着现代技术日新月异的发展,内容管理

国内外7家典型在线短租平台盈利模式分析

[创业邦讯]2013开年之际,蚂蚁短租和小猪短租这两家在线短租网站同时宣布获得风投千万元级别的投资,为寒冬中萎靡的风投市场带来一丝春意.中国在线短租市场在经历2011年的起步后,已初具规模.目前,短租用户大部分来自旅游客户和商旅人士,受中国在线旅游市场快速发展的带动因素影响,2012年中国在线短租市场已出现爆发式增长.下面我们来分析和对比一下国内外在线短租平台商业模式和盈利模式的异同,以及未来发展的趋势.在线短租市场定义在线短租:是指房屋的承租人通过互联网和移劢互联网的方式查阅及预订短期住房,并

短租市场如何盈利?国内外7家在线短租平台模式分析

中介交易 SEO诊断 淘宝客 云主机 技术大厅 2013开年之际,蚂蚁短租和小猪短租这两家在线短租网站同时宣布获得风投千万元级别的投资,为寒冬中萎靡的风投市场带来一丝春意.中国在线短租市场在经历2011年的起步后,已初具规模.目前,短租用户大部分来自旅游客户和商旅人士,受中国在线旅游市场快速发展的带动因素影响,2012年中国在线短租市场已出现爆发式增长.下面我们来分析和对比一下国内外在线短租平台商业模式和盈利模式的异同,以及未来发展的趋势. 在线短租市场定义 在线短租:是指房屋的承租人通过互联网

java中用中国网建提供的SMS短信平台发送短信

接下来的项目需求中提到需要短信发送功能,以前没有做过,因此便在网上搜了一下.大体上说的都是有三种方法,分别是sina提供的webservice接口.短信mao和中国网建提供的SMS短信平台. 这三种方式,因为第一种和第三种都经过了别的平台转发,因此具有一定的安全隐患,第二种短信mao的方式相对可能要安全一些. 但是短信mao需要购买硬件设备,因此我便只好参考网上的文章先实现了用sms平台发送短信的功能. 这个功能说起来实际上很简单,java代码也很少,只是我在实现的过程中参照网上文章的代码和注释

SMS发短信

问题描述 需求分析:用.net(c#语言)或asp实现往手机上定时发短信的功能,短信保存在数据库(限acc,xml)中,也可RSS提取,发送方是固定的我的手机号码,接收方也是固定的号码,接收方如有回短信,可直接回到发送方手机上,也可mail通知.程序完成后挂网上可自行执行,不需人功干预.哪位前人开发过类似程序,支援一下,也可以说要学习哪些东西来完成开发.先谢谢哈!!需求源:追老婆用的哈,小弟下半辈子幸福依仗大伙啦!!回贴提示:不可发与本贴主意思相蹊跷内容,否则删! 解决方案 解决方案二:你用什么

Nagios结合短信平台接口实现SMS短信告警

直接上代码. #!/usr/bin/env python #coding:utf-8 import urllib2 import urllib import json import uuid import argparse def url_request(url,values={},method='GET'):     if method == 'GET':         if len(values) != 0:             url_values=urllib.urlencode(

后台-我想开发个短信平台接收用户发来的手机短信,怎么做?

问题描述 我想开发个短信平台接收用户发来的手机短信,怎么做? 我想开发个短信平台接收用户发来的手机短信,短信内容是某种固定格式的.接收到用户的短信后,后台程序解析然后再回复相应的格式,这个怎么做,需要什么硬件,或者有类似的短信运营商提供二次开发的接口. 解决方案 1.购买短信号码,支持上下行 2.开发上下行功能,并根据并键字开发相应的业务罗辑 解决方案二: 这个从第三方短信平台处购买一个三网合一的号码 然后进行关键字回复的二次开发即可