原文地址:http://sms.webchinese.cn/api.shtml

JAVA发送手机短信,流传有几种方法:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;(2)使用短信mao的方式进行短信的发送,这种方式应该是比较的常用,前提是需要购买硬件设备,呵呵(3)使用中国网建提供的SMS短信平台(申请账号地址:http://sms.webchinese.cn/default.shtml)

本程序主要是运用了中国网建提供的SMS短信平台

注意:smsText的值要用【】括起来

重要提示:用接口发送验证码的程序员注意,近期短信验证码轰炸软件泛滥,请在发送验证码的时候,加上一个图形校验码验证,防止机器人读取狂发验证码!!!不明事宜请联系客服咨询。发送手机验证码请做好以下几点防范:

  • 发送验证码1分钟只能点击发送1次;
  • 相同IP手机号码1天最多提交20次;
  • 验证码短信单个手机号码30分钟最多提交10次;
  • 在提交页面加入图形校验码,防止机器人恶意发送;
  • 在发送验证码接口程序中,判断图形校验码输入是否正确;
  • 新用户用接口测试验证码时,请勿输入:测试等无关内容信息,请直接输入:验证码:xxxxxx,发送。
  • 接口发送触发短信时,您可以把短信内容提供给客服绑定短信模板,绑定后24小时即时发送。未绑定模板的短信21点以后提交,隔天才能收到。

    GBK编码发送接口地址
    http://gbk.api.smschinese.cn/?Uid=本站用户名&Key=接口安全秘钥&smsMob=手机号码&smsText=验证码:8888
    UTF-8编码发送接口地址:
    http://utf8.api.smschinese.cn/?Uid=本站用户名&Key=接口安全秘钥&smsMob=手机号码&smsText=验证码:8888
    获取短信数量接口地址(UTF8):
    http://www.smschinese.cn/web_api/SMS/?Action=SMS_Num&Uid=本站用户名&Key=接口安全秘钥
    获取短信数量接口地址(GBK):
    http://www.smschinese.cn/web_api/SMS/GBK/?Action=SMS_Num&Uid=本站用户名&Key=接口安全秘钥

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

    参数变量 说明
    Gbk编码Url http://gbk.api.smschinese.cn/
    Utf-8编码Url http://utf8.api.smschinese.cn/
    Uid 本站用户名(如您无本站用户名请先注册)[免费注册]
    Key 注册时填写的接口秘钥(可到用户平台修改接口秘钥)[立刻修改]
    如需要加密参数,请把Key变量名改成KeyMD5,
    KeyMD5=接口秘钥32位MD5加密,大写。
    smsMob 目的手机号码(多个手机号请用半角逗号隔开)
    smsText 短信内容,最多支持400个字,普通短信70个字/条,长短信64个字/条计费

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

    短信发送后返回值 说 明
    -1 没有该用户账户
    -2 接口密钥不正确 [查看密钥]
    不是账户登陆密码
    -21 MD5接口密钥加密不正确
    -3 短信数量不足
    -11 该用户被禁用
    -14 短信内容出现非法字符
    -4 手机号格式不正确
    -41 手机号码为空
    -42 短信内容为空
    -51 短信签名格式不正确
    接口签名格式为:【签名内容】
    -6 IP限制
    大于0 短信发送数量
注:调用API接口,请登录平台,申请106网关发送,即发即到!
  发送测试短信请勿输入:短信测试等词语,请直接提交您要发送的短信内容;
  接口发送短信时请在内容后加签名:【XX公司或XX网名称】,否者会被屏蔽。
  短信签名可在用户平台平台上设置,也可以在短信内容后,直接加入。
ASP程序实例 C#程序示例 JAVA程序示例 PHP程序示例 VB.NET程序实例 VB程序实例

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=验证码:8888"
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.api.smschinese.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","验证码:8888")};
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

演示程序下载
java_dome.rar

说明:如果返回值是200,应该是整段程序代码没有执行完整,只获取到client.executeMethod(post)HTTP状态码的消息;接口是提交成功,没有执行下半部的返回消息代码。
client.executeMethod(post);HTTP状态码参考:http://baike.baidu.com/view/1790469.htm

4.PHP
$url='http://sms.webchinese.cn/web_api/?Uid=账号&Key=接口密钥&smsMob=手机号码&smsText=验证码:8888';

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=验证码:8888"
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

6.VB
Public Function getHtmlStr(strUrl As String) '获取远程接口函数
On Error Resume Next
Dim XmlHttp As Object, stime, ntime
Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
XmlHttp.open "GET", strUrl, True
XmlHttp.send
stime = Now '获取当前时间
While XmlHttp.ReadyState <> 4
DoEvents
ntime = Now '获取循环时间
If DateDiff("s", stime, ntime) > 3 Then getHtmlStr = "": Exit Function
Wend
getHtmlStr = StrConv(XmlHttp.responseBody, vbUnicode)
Set XmlHttp = Nothing
End Function

代码使用:在窗体代码相应位置写如下代码
dim a as string
a=getHtmlStr("http://sms.webchinese.cn/web_api/?Uid=账号&Key=接口密钥&smsMob=手机号码&smsText=验证码:8888") '获取接口返回值

Java实现的一个发送手机短信(亲测可用)相关推荐

  1. 利用java实现的一个发送手机短信的小例子

    今天闲来无事,在微博上看到一个关于用java实现的一个发送手机短信的程序,看了看,写的不太相信,闲的没事,把他整理下来,以后可能用得着 JAVA发送手机短信,流传有几种方法:(1)使用webservi ...

  2. java 发送短信例子_利用java实现的一个发送手机短信的小例子

    今天闲来无事,在微博上看到一个关于用java实现的一个发送手机短信的程序,看了看,写的不太相信,闲的没事,把他整理下来,以后可能用得着 JAVA发送手机短信,流传有几种方法:(1)使用webservi ...

  3. java实现的一个发送手机短信

    利用java实现的一个发送手机短信的小例子 JAVA发送手机短信,流传有几种方法:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注 ...

  4. 开发一个发送手机短信的计算机软件

    开发一个发送手机短信的计算机软件 很久以前就有这个想法了,无奈时间有限,资料不足,一直没有成功.昨天突然意念再生,没想到还真搞成功了.接下来我将对这方面的技术做一个总结,并详细介绍我使用的方法细节.我 ...

  5. java调接口实现发送手机短信验证码功能,手机验证码,接口调用

    原文地址:  http://blog.csdn.net/sxdtzhaoxinguo/article/details/34437591 近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用 ...

  6. java+jsp如何实现发送手机短信验证登录

    我的qq  2038373094 1.借助第三方免费的sdk接口,下载java sdk http://smsow.zhenzikj.com/doc/sdk.html 下载后的SDK只包含一个jar文件 ...

  7. JAVA发送手机短信,httpclient短信发送接口示例(java)

    httpclient短信发送接口示例(java),可用于直接用电脑发送短信,可根据实际情况,与联通移动公司洽谈接口,完成网上发送短信功能,如需jar包,可向联通移动公司项目部沟通. package c ...

  8. java实现发送手机短信

    说明:测试通过 JAVA发送手机短信,流传有几种方法:  (1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;  (2)使用短信m ...

  9. java实现语音发送,Java实现发送手机短信语音验证功能代码实例

    这篇文章主要介绍了java实现发送手机短信语音验证功能代码实例,www.cppcns.com文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 利用第三方 ...

最新文章

  1. 【经典】javascript ES5原生实现考试题答案全排列组合数组结果获取
  2. Numpy与Pandas基础
  3. 使用 selector 从 SAP Spartacus state 里读取 Cart 数据
  4. char data[0]用法总结
  5. 求最长回文串-从动态规划到马拉车之路(下)
  6. hive -e执行命令报错
  7. 通过代码控制ArcGIS Server的服务
  8. 第 7 章 Neutron - 077 - 配置 linux-bridge mechanism driver
  9. RTL8187B无线网卡不能上网的解决办法
  10. 两节串联锂电池充电管理芯片,IC的充放电方案
  11. 计算机绘图中常用指令,【CAD快捷键运用】CAD常用命令汇总
  12. 别让蛋壳跑了、打工人的「爷青回」和今天团购了吗?|极客一周
  13. 解决Windows系统删除文件:文件正在使用,无法删除问题
  14. Pytorch关于高维tensor的dim上操作的理解--以cosine_similarity的dim参数为例
  15. 聚合物-化学键-聚合物PEG-Hyd-PDLLA /PLA-PHis-hyd-PEG/PEG-PUSeSe-PEG
  16. win10无限蓝屏_Win10升级系统后蓝屏或无限重启的解决方法
  17. 如何顺利获得美国工作签证
  18. 关于字符串的输入几种方法
  19. jzxx1176买蛋糕
  20. 战地之王服务器维护启动失败,《战地之王》战地之王韩服官方各种问题攻略

热门文章

  1. 分析对比新浪微博、微信朋友圈、QQ动态在「内容发布」这一功能上的差异,并简要分析其原因。
  2. 谷歌浏览器网速慢解决方法
  3. 钉钉如何快速搜索群里文件夹的方法
  4. 四川省计算机考试模拟试题,四川省计算机一级考试模拟练习题[1].doc
  5. 2019南京大学软件学院预推免
  6. 数据恢复之数据恢复软件
  7. python-异常处理、元类
  8. chkdsk /f P:很强大,帮我解决了硬盘写保护的问题
  9. 中微区块链集团美国运营中心总裁Angle受邀全球区块链赋能峰会
  10. 如何利用ChatGPT写毕业论文