给手机号发送验证码

建一个utlls

package com.itjh.util;

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;

import java.util.Random;

public class SendMessageUtil {

private static final StringSMS_Url ="http://sms.webchinese.cn/web_api/";

/**

    * @param Uid SMS用户id  : lvfang123

    * @param Key 接口秘钥:SMS登录可查(非登录密码)

    * @param sendPhoneNum 短信发送目标号码

    * @param desc 短信内容

    * @return Integer(1:成功码,其他失败,具体参见注释)

*/

    public static Integersend(String Uid,String Key,String sendPhoneNum,String desc){

HttpClient client =new HttpClient();

PostMethod post =new PostMethod(SMS_Url);

post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");// 在头文件中设置转码

        //设置参数

        NameValuePair[]data = {

new NameValuePair("Uid", Uid),

new NameValuePair("Key", Key),//秘钥

                new NameValuePair("smsMob", sendPhoneNum),

new NameValuePair("smsText", desc)

};

post.setRequestBody(data);

try {

client.executeMethod(post);

}catch (Exception e) {  e.printStackTrace();  }

Header[]headers =post.getResponseHeaders();

int statusCode =post.getStatusCode();

System.out.println("statusCode:" +statusCode);

for (Header h :headers) {

System.out.println(h.toString());

}

String result ="";

try {

result =new String(post.getResponseBodyAsString().getBytes("gbk"));

}catch (Exception e) {  e.printStackTrace();  }

post.releaseConnection();

return Integer.parseInt(result);

}

/**

    *  -1  没有该用户账户

    -2 接口密钥不正确 [查看密钥]不是账户登陆密码

    -21    MD5接口密钥加密不正确

    -3 短信数量不足

    -11    该用户被禁用

    -14    短信内容出现非法字符

    -4 手机号格式不正确

    -41    手机号码为空

    -42    短信内容为空

    -51    短信签名格式不正确接口签名格式为:【签名内容】

    -6 IP限制

    大于0    短信发送数量

以上作为补充

    */

    public static StringgetMessage(Integer code){

Stringmessage;

if(code >0 ) {

message ="SMS-f发送成功!短信量还有" + code +"条";

}else if(code == -1){

message ="SMS-没有该用户账户";

}else if(code == -2){

message ="SMS-接口密钥不正确";

}else if(code == -21){

message ="SMS-MD5接口密钥加密不正确";

}else if(code == -3){

message ="SMS-短信数量不足";

}else if(code == -11){

message ="SMS-该用户被禁用";

}else if(code == -14){

message ="SMS-短信内容出现非法字符";

}else if(code == -4){

message ="SMS-手机号格式不正确";

}else if(code == -41){

message ="SMS-手机号码为空";

}else if(code == -42){

message ="SMS-短信内容为空";

}else if(code == -51){

message ="SMS-短信签名格式不正确接口签名格式为:【签名内容】";

}else if(code == -6){

message ="SMS-IP限制";

}else{

message ="其他错误";

}

return message;

}

/**

    * 随机生成6位验证码

    * @return

*/

    public static StringgetRandomCode(Integer code){

Randomrandom =new Random();

StringBufferresult=new StringBuffer();

for (int i=0;i

result.append(random.nextInt(10));

}

return result.toString();

}

public static StringgetRandomCode(){

Randomrandom =new Random();

String result="";

for (int i=0;i<6;i++){

result+=random.nextInt(10);

}

return result;

}

public void testSendMessage(){

//        SendMessageUtil.send("SMS账户","接口秘钥","目标号码","发送内容");

//第一个名称,密钥,手机号

        SendMessageUtil.send("jimingyu","d41d8cd98f00b204e980","15226921418","验证码:"+getRandomCode(6));

IntegerresultCode =1;

System.out.println(SendMessageUtil.getMessage(resultCode));

}

}

配置文件pom.xml

commons-logging

commons-logging

1.1.1

commons-codec

commons-codec

1.4

commons-httpclient

commons-httpclient

3.0.1

获取发送短信密钥网址

http://sms.webchinese.com.cn/User/?action=key

你可能感兴趣的:(给手机号发送验证码)