文章目錄
- 簡介、
- 一、短信平臺
- 二、步驟
- 1.注冊一個賬號
- 2.下載介面檔案
- 3.互億在Java中的短信驗證
- 總結
簡介、
鄙人用的是Java,其他語言也可以用如:c語言、c++、python、java、php等,具體如下
一、短信平臺
互億無線
網址:https://www.ihuyi.com
二、步驟
1.注冊一個賬號
新用戶會送幾條免費短信,具體幾條我也忘記了,
注意:注冊號碼后會有平臺作業人員打電話給你詢問你注冊這個號干嘛的,其實就是拉你做客戶,不用緊張,
----登錄進去后在首頁可以看到自己的電話號碼,和短信余額,然后點擊驗證碼通知短信

2.下載介面檔案

下載好的檔案是個壓縮包,解壓就可以了,是這樣的:



選擇你需要的語言就行啦
3.互億在Java中的短信驗證
我們找到java所在的檔案夾

點到這個位置

lib下的是jar包依賴
src下的是實作主要代碼
本人是pom檔案注入依賴的
<!-- 短信驗證jar包 -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.0-rc4</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0.4</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
匯入jar包后就把src下的代碼放入專案中

工具類:
//介面型別:互億無線觸發短信介面,支持發送驗證碼短信、訂單通知短信等,
// 賬戶注冊:請通過該地址開通賬戶http://sms.ihuyi.com/register.html
// 注意事項:
//(1)除錯期間,請用默認的模板進行測驗,默認模板詳見介面檔案;
//(2)請使用APIID(查看APIID請登錄用戶中心->驗證碼短信->產品總覽->APIID)及 APIkey來呼叫介面;
//(3)該代碼僅供接入互億無線短信介面參考使用,客戶可根據實際需要自行撰寫;
package com.zking.ssm.test.util;
import java.security.MessageDigest;
public class StringUtil {
public static String str;
public static final String EMPTY_STRING = "";
private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
"6", "7", "8", "9", "A", "B", "C", "D", "E", "F" };
private static String byteToHexString(byte b) {
int n = b;
if (n < 0)
n = 256 + n;
int d1 = n / 16;
int d2 = n % 16;
return hexDigits[d1] + hexDigits[d2];
}
/**
* 轉換位元組陣列為16進制字串
* @param b 位元組陣列
* @return 16進制字串
*/
public static String byteArrayToHexString(byte[] b) {
StringBuffer resultSb = new StringBuffer();
for (int i = 0; i < b.length; i++) {
resultSb.append(byteToHexString(b[i]));
}
return resultSb.toString();
}
public static String MD5Encode(String origin) {
String resultString = null;
try {
resultString = new String(origin);
MessageDigest md = MessageDigest.getInstance("MD5");
resultString = byteArrayToHexString(md.digest(resultString
.getBytes()));
} catch (Exception ex) {
}
return resultString;
}
}
實作功能的類有兩個只是編碼方式不一樣是sendsms和sendsmsutf-8,
這里要用到你賬戶的APIID和APIKEY還有手機號了
account:對應的是APIID
password:對應的是APIKEY
mobile:手機號
sendsms類:
package com.zking.ssm.test;//介面型別:互億無線觸發短信介面,支持發送驗證碼短信、訂單通知短信等,
// 賬戶注冊:請通過該地址開通賬戶http://sms.ihuyi.com/register.html
// 注意事項:
//(1)除錯期間,請用默認的模板進行測驗,默認模板詳見介面檔案;
//(2)請使用APIID(查看APIID請登錄用戶中心->驗證碼短信->產品總覽->APIID)及 APIkey來呼叫介面;
//(3)該代碼僅供接入互億無線短信介面參考使用,客戶可根據實際需要自行撰寫;
import java.io.IOException;
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;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import com.zking.ssm.test.util.StringUtil;
public class sendsms {
private static String Url = "http://106.ihuyi.cn/webservice/sms.php?method=Submit";
public static void main(String [] args) {
HttpClient client = new HttpClient();
PostMethod method = new PostMethod(Url);
client.getParams().setContentCharset("GBK");
method.setRequestHeader("ContentType","application/x-www-form-urlencoded;charset=GBK");
int mobile_code = (int)((Math.random()*9+1)*100000);
String content = new String("您的驗證碼是:" + mobile_code + ",請不要把驗證碼泄露給其他人,");
NameValuePair[] data = {//提交短信
new NameValuePair("account", "C84099173"), //查看用戶名是登錄用戶中心->驗證碼短信->產品總覽->APIID
new NameValuePair("password", "4d6bce3d366d986fa59560484906dd94"), //查看密碼請登錄用戶中心->驗證碼短信->產品總覽->APIKEY
//new NameValuePair("password", util.StringUtil.MD5Encode("密碼")),
new NameValuePair("mobile", "191******72"),
new NameValuePair("content", content),
};
method.setRequestBody(data);
try {
client.executeMethod(method);
String SubmitResult =method.getResponseBodyAsString();
//System.out.println(SubmitResult);
Document doc = DocumentHelper.parseText(SubmitResult);
Element root = doc.getRootElement();
String code = root.elementText("code");
String msg = root.elementText("msg");
String smsid = root.elementText("smsid");
System.out.println(code);
System.out.println(msg);
System.out.println(smsid);
if("2".equals(code)){
System.out.println("短信提交成功");
}
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
sendsmsutf8:
//介面型別:互億無線觸發短信介面,支持發送驗證碼短信、訂單通知短信等,
// 賬戶注冊:請通過該地址開通賬戶http://sms.ihuyi.com/register.html
// 注意事項:
//(1)除錯期間,請用默認的模板進行測驗,默認模板詳見介面檔案;
//(2)請使用APIID(查看APIID請登錄用戶中心->驗證碼短信->產品總覽->APIID)及 APIkey來呼叫介面;
//(3)該代碼僅供接入互億無線短信介面參考使用,客戶可根據實際需要自行撰寫;
package com.zking.ssm.test;
import java.io.IOException;
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;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import com.zking.ssm.test.util.StringUtil;
public class sendsmsutf8 {
private static String Url = "http://106.ihuyi.cn/webservice/sms.php?method=Submit";
public static void main(String [] args) {
HttpClient client = new HttpClient();
PostMethod method = new PostMethod(Url);
client.getParams().setContentCharset("UTF-8");
method.setRequestHeader("ContentType","application/x-www-form-urlencoded;charset=UTF-8");
int mobile_code = (int)((Math.random()*9+1)*100000);
String content = new String("您的驗證碼是:" + mobile_code + ",請不要把驗證碼泄露給其他人,");
NameValuePair[] data = {//提交短信
new NameValuePair("account", "C84099173"), //查看用戶名是登錄用戶中心->驗證碼短信->產品總覽->APIID
new NameValuePair("password", "4d6bce3d366d986fa59560484906dd94"), //查看密碼請登錄用戶中心->驗證碼短信->產品總覽->APIKEY
//new NameValuePair("password", util.StringUtil.MD5Encode("密碼")),
new NameValuePair("mobile", "191******72"),
new NameValuePair("content", content),
};
method.setRequestBody(data);
try {
client.executeMethod(method);
String SubmitResult =method.getResponseBodyAsString();
//System.out.println(SubmitResult);
Document doc = DocumentHelper.parseText(SubmitResult);
Element root = doc.getRootElement();
String code = root.elementText("code");
String msg = root.elementText("msg");
String smsid = root.elementText("smsid");
System.out.println(code);
System.out.println(msg);
System.out.println(smsid);
if("2".equals(code)){
System.out.println("短信提交成功");
}
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
配置好后,運行就能收到短信啦
我收到的短信截圖:

總結
over,如有問題,可以在評論區留言哦,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/413912.html
標籤:python
