PHP代码示例
//接口类型:互亿无线语音验证码接口。
//账户注册:请通过该地址开通账户http://user.ihuyi.com/register.html
//注意事项:
//(1)调试期间,请仔细阅读接口文档;
//(2)请使用 APIID 及 APIKEY来调用接口,可在会员中心获取;
//(3)该代码仅供接入互亿无线短信接口参考使用,客户可根据实际需要自行编写;
header("Content-type:text/html; charset=UTF-8");
function Post($curlPost,$url){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
$return_str = curl_exec($curl);
curl_close($curl);
return $return_str;
}
function xml_to_array($xml){
$reg = "/<(\w+)[^-->]*>([\\x00-\\xFF]*)<\\/\\1>/";
if(preg_match_all($reg, $xml, $matches)){
$count = count($matches[0]);
for($i = 0; $i < $count; $i++){
$subxml= $matches[2][$i];
$key = $matches[1][$i];
if(preg_match( $reg, $subxml )){
$arr[$key] = xml_to_array( $subxml );
}else{
$arr[$key] = $subxml;
}
}
}
return $arr;
}
$target = "http://api.voice.ihuyi.com/webservice/voice.php?method=Submit";
$mobile = '136xxxxxxxx';//手机号码
$post_data = "account=用户名&password=密码&mobile=".$mobile."&content=1125";
//查看用户名 登录用户中心->语音验证码>产品总览->API接口信息->APIID
//查看密码 登录用户中心->语音验证码>产品总览->API接口信息->APIKEY
$gets = xml_to_array(Post($post_data, $target));
if($gets['SubmitResult']['code']==2){
echo '提交成功';
}
JAVA代码示例
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 util.StringUtil;
//接口类型:互亿无线语音验证码接口。
//账户注册:请通过该地址开通账户http://user.ihuyi.com/register.html
//注意事项:
//(1)调试期间,请仔细阅读接口文档;
//(2)请使用 APIID 及 APIKEY来调用接口,可在会员中心获取;
//(3)该代码仅供接入互亿无线短信接口参考使用,客户可根据实际需要自行编写;
public class sendsms {
private static String Url = "http://api.voice.ihuyi.com/webservice/voice.php?method=Submit";
public static void main(String [] args) {
HttpClient client = new HttpClient();
PostMethod method = new PostMethod(Url);
//client.getParams().setContentCharset("GBK");
client.getParams().setContentCharset("UTF-8");
method.setRequestHeader("ContentType","application/x-www-form-urlencoded;charset=UTF-8");
NameValuePair[] data = {//提交短信
new NameValuePair("account", "用户名"),//查看用户名 登录用户中心->语音验证码>产品总览->API接口信息->APIID
new NameValuePair("password", "密码"),//查看密码 登录用户中心->语音验证码>产品总览->API接口信息->APIKEY
new NameValuePair("mobile", "139xxxxxxxx"),//手机号码
new NameValuePair("content", "1125"),
};
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 voiceid = root.elementText("voiceid");
System.out.println(code);
System.out.println(msg);
System.out.println(voiceid);
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();
}
}
}
通过POST、 GET 方式进行短信提交,数据编码采用utf-8格式,24小时全天发送。
http://api.voice.ihuyi.com/webservice/voice.php?method=Submit
| 参数名称 | 参数值描述 | 必填 |
| account | APIID(请登录用户中心【语音验证码】-【产品纵览】查看) | 是 |
| password | 1、APIKEY(请登录用户中心【语音验证码】-【产品纵览】查看) 2、动态密码(生成动态密码方式请看该文档末尾的说明) |
是 |
| mobile | 接收手机号码,只能提交1个号码 | 是 |
| content | 验证码(4-6位数字) | 是 |
| time | Unix时间戳(10位整型数字,当使用动态密码方式时为必填) | 否 |
| format | 返回格式(可选值为:xml或json,系统默认为xml) | 否 |
用户通过http 或 https提交发送短信请求到服务器后,服务器会返回一串xml格式的字符串,SubmitResult结构说明如下:
| 参数名称 | 类型 | 描述 |
| code | int | 返回值为2时,表示提交成功 |
| smsid | string | 当提交成功后,此字段为流水号,否则为0 |
| msg | string | 提交结果描述 |
示例(成功)
2提交成功 60495654
示例(失败)
405用户名或密码不正确 0
| code | msg |
| 0 | 提交失败 |
| 2 | 提交成功 |
| 400 | 非法ip访问 |
| 401 | 帐号不能为空 |
| 402 | 密码不能为空 |
| 403 | 手机号码不能为空 |
| 4030 | 手机号码已被列入黑名单 |
| 404 | 语音内容不能为空 |
| 405 | 用户名或密码不正确 |
| 4050 | 账号被冻结 |
| 4051 | 剩余条数不足 |
| 4052 | 访问ip与备案ip不符 |
| 406 | 手机格式不正确 |
| 407 | 短信内容含有敏感字符 |
| 4070 | 语音验证码内容必须为4-6位数字 |
| 408 | 您的帐户疑被恶意利用,已被自动冻结,如有疑问请与客服联系。 |
http://api.voice.ihuyi.com/webservice/voice.php?method=Submit&account=APIID&password=APIKEY&mobile=手机号码&content=1125
| code | msg |
| 0 | 提交失败 |
| 2 | 提交成功 |
| 400 | 非法ip访问 |
| 401 | 帐号不能为空 |
| 402 | 密码不能为空 |
| 403 | 手机号码不能为空 |
| 4030 | 手机号码已被列入黑名单 |
| 404 | 语音内容不能为空 |
| 405 | 用户名或密码不正确 |
| 4050 | 账号被冻结 |
| 4051 | 剩余条数不足 |
| 4052 | 访问ip与备案ip不符 |
| 406 | 手机格式不正确 |
| 407 | 短信内容含有敏感字符 |
| 4070 | 语音验证码内容必须为4-6位数字 |
| 408 | 您的帐户疑被恶意利用,已被自动冻结,如有疑问请与客服联系。 |
| code | msg |
| 2 | 查询成功 |
| 400 | 非法ip访问 |
| 401 | 帐号不能为空 |
| 402 | 密码不能为空 |
| 405 | 用户名或密码不正确 |
| 4050 | 账号被冻结 |
用c++接入是当下非常常见的语音验证码接入方式之一,企业通过c++短信接口与系统进行对接,实现语音验证码的自动发送,采用这种接入方式的语音验证码下发速度更快,响应更及时,到达率也更高,企业能够不限时间,不限地点的向用户发送语音验证码,及时提供登录、注册、支付等场景下的安全保障。
语音验证码具备运营商特有的身份认证能力,企业通过接入c++短信接口发送语音验证码,及时有效地确认用户身份安全,保障用户的账号安全,优化企业的服务体验,语音通知则是企业维护会员最常见的方式之一,通常具备功能性,例如系统通知、物流通知等,相较于新生的微信通知等方式,语音通知的触达率更高,更及时,也更不容易被用户所遗漏。
在IT、化工、建材、能源、房产、工商等多个领域,语音验证码都具有难以替代的作用,其在身份验证、及时触达领域有着其他产品所不具备的能力,是现代企业安全体系中不可或缺的一环。
语音验证码具有下发速度快、触达更精准、接入更灵活的特点,通常来说,用户从获取验证码到验证码下发,这中间的过程不会超过5秒钟,避免用户因为等待而造成的流失,同时,语音验证码高达99.99%的触达率也让信息遗漏的可能性降到了最低。
语音验证码的接入通常不复杂,短信平台会提供完善的c++语音验证码接口,用户只需按照流程接入,如有疑问可向短信平台的技术人员寻求技术帮助,此外,另一需要注意的就是如要上线语音验证码服务必须完成企业认证/实名认证,如未完成企业认证,则不可上线语音验证码服务。
WebSercive是一种常用的短信接口形式,这种接口的使用形式和HTTP接口有一定的相似性,接入这种服务的产品可以像调用函数一样,想要集成短信接口服务,普遍需求用户有自己的产品,同时具有一定的技术开发实力,接入之后,产品可以根据不同的情况自动发送短信。
如果还有更多关于c++实现语音验证码推送的问题,请咨询工作了解详情,也可进入帮助文档查看相关内容。
在线咨询
150,000家
企业客户
21年
行业经验
2V1
2对1客户支持