互億無線 > 詞條 > C > c#實(shí)現(xiàn)語音驗(yàn)證碼功能

c#實(shí)現(xiàn)語音驗(yàn)證碼功能

  • 代碼示例
  • API接口
  • 錯(cuò)誤碼參照

PHP代碼示例

//接口類型:互億無線語音驗(yàn)證碼接口。
//賬戶注冊:請通過該地址開通賬戶http://user.ihuyi.com/register.html
//注意事項(xiàng):
//(1)調(diào)試期間,請仔細(xì)閱讀接口文檔;
//(2)請使用 APIID 及 APIKEY來調(diào)用接口,可在會員中心獲取;
//(3)該代碼僅供接入互億無線短信接口參考使用,客戶可根據(jù)實(shí)際需要自行編寫;
  
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';//手機(jī)號碼
$post_data = "account=用戶名&password=密碼&mobile=".$mobile."&content=1125";
//查看用戶名 登錄用戶中心->語音驗(yàn)證碼>產(chǎn)品總覽->API接口信息->APIID
//查看密碼 登錄用戶中心->語音驗(yàn)證碼>產(chǎn)品總覽->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;
  
  
//接口類型:互億無線語音驗(yàn)證碼接口。
//賬戶注冊:請通過該地址開通賬戶http://user.ihuyi.com/register.html
//注意事項(xiàng):
//(1)調(diào)試期間,請仔細(xì)閱讀接口文檔;
//(2)請使用 APIID 及 APIKEY來調(diào)用接口,可在會員中心獲??;
//(3)該代碼僅供接入互億無線短信接口參考使用,客戶可根據(jù)實(shí)際需要自行編寫;
  
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", "用戶名"),//查看用戶名 登錄用戶中心->語音驗(yàn)證碼>產(chǎn)品總覽->API接口信息->APIID
                new NameValuePair("password", "密碼"),//查看密碼 登錄用戶中心->語音驗(yàn)證碼>產(chǎn)品總覽->API接口信息->APIKEY
                new NameValuePair("mobile", "139xxxxxxxx"),//手機(jī)號碼
                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();
        }
  
    }
  
}
                    
                    
                    
                    

1 接口描述

通過POST、 GET 方式進(jìn)行短信提交,數(shù)據(jù)編碼采用utf-8格式,24小時(shí)全天發(fā)送。

2 請求地址

http://api.voice.ihuyi.com/webservice/voice.php?method=Submit

3 請求參數(shù)

參數(shù)名稱 參數(shù)值描述 必填
account APIID(請登錄用戶中心【語音驗(yàn)證碼】-【產(chǎn)品縱覽】查看)
password 1、APIKEY(請登錄用戶中心【語音驗(yàn)證碼】-【產(chǎn)品縱覽】查看)
2、動(dòng)態(tài)密碼(生成動(dòng)態(tài)密碼方式請看該文檔末尾的說明)
mobile 接收手機(jī)號碼,只能提交1個(gè)號碼
content 驗(yàn)證碼(4-6位數(shù)字)
time Unix時(shí)間戳(10位整型數(shù)字,當(dāng)使用動(dòng)態(tài)密碼方式時(shí)為必填)
format 返回格式(可選值為:xml或json,系統(tǒng)默認(rèn)為xml)

用戶通過http 或 https提交發(fā)送短信請求到服務(wù)器后,服務(wù)器會返回一串xml格式的字符串,SubmitResult結(jié)構(gòu)說明如下:

參數(shù)名稱 類型 描述
code int 返回值為2時(shí),表示提交成功
smsid string 當(dāng)提交成功后,此字段為流水號,否則為0
msg string 提交結(jié)果描述

4 響應(yīng)示例

示例(成功)


 2 提交成功 60495654 

示例(失敗)


 405 用戶名或密碼不正確 0 

5 響應(yīng)參數(shù)

code msg
0 提交失敗
2 提交成功
400 非法ip訪問
401 帳號不能為空
402 密碼不能為空
403 手機(jī)號碼不能為空
4030 手機(jī)號碼已被列入黑名單
404 語音內(nèi)容不能為空
405 用戶名或密碼不正確
4050 賬號被凍結(jié)
4051 剩余條數(shù)不足
4052 訪問ip與備案ip不符
406 手機(jī)格式不正確
407 短信內(nèi)容含有敏感字符
4070 語音驗(yàn)證碼內(nèi)容必須為4-6位數(shù)字
408 您的帳戶疑被惡意利用,已被自動(dòng)凍結(jié),如有疑問請與客服聯(lián)系。

6 請求示例

http://api.voice.ihuyi.com/webservice/voice.php?method=Submit&account=APIID&password=APIKEY&mobile=手機(jī)號碼&content=1125

語音發(fā)送錯(cuò)誤碼參照:

code msg
0 提交失敗
2 提交成功
400 非法ip訪問
401 帳號不能為空
402 密碼不能為空
403 手機(jī)號碼不能為空
4030 手機(jī)號碼已被列入黑名單
404 語音內(nèi)容不能為空
405 用戶名或密碼不正確
4050 賬號被凍結(jié)
4051 剩余條數(shù)不足
4052 訪問ip與備案ip不符
406 手機(jī)格式不正確
407 短信內(nèi)容含有敏感字符
4070 語音驗(yàn)證碼內(nèi)容必須為4-6位數(shù)字
408 您的帳戶疑被惡意利用,已被自動(dòng)凍結(jié),如有疑問請與客服聯(lián)系。

余額查詢錯(cuò)誤碼參照:

code msg
2 查詢成功
400 非法ip訪問
401 帳號不能為空
402 密碼不能為空
405 用戶名或密碼不正確
4050 賬號被凍結(jié)

自助開通云通信賬戶
免費(fèi)試用,試用滿意再購買

c#實(shí)現(xiàn)語音驗(yàn)證碼功能相關(guān)的資訊內(nèi)容

c#實(shí)現(xiàn)語音驗(yàn)證碼功能相關(guān)的資訊詳情

語音驗(yàn)證碼接口一般采用http和webservice方式進(jìn)行調(diào)用。使用語音驗(yàn)證碼http接口的效率比較高一些,它支持客戶/服務(wù)器模式,運(yùn)行速度很快,而webservice遇到一些比較復(fù)雜麻煩的數(shù)據(jù)類型時(shí),處理起來更加有效。短信平臺通常會將語音驗(yàn)證碼能力進(jìn)行API封裝,開發(fā)者僅需拷貝幾行代碼,即可在網(wǎng)站、APP、系統(tǒng)中輕松實(shí)現(xiàn)語音驗(yàn)證碼、語音通知等短信內(nèi)容的自動(dòng)化發(fā)送。開發(fā)者用戶可以通過不同開發(fā)語言,如c#進(jìn)行語音驗(yàn)證碼接口開發(fā)。一般短信平臺提供的語音驗(yàn)證碼發(fā)送服務(wù),可支持全國移動(dòng)、聯(lián)通、電信手機(jī)號碼,免除運(yùn)營商之間不同通訊協(xié)議的煩惱。為了更方便開發(fā)者進(jìn)行語音驗(yàn)證碼接入,短信平臺會預(yù)先為開發(fā)者提供各語言的DEMO示例供開發(fā)者使用,僅需少量代碼即可創(chuàng)建語音驗(yàn)證碼API請求。

語音驗(yàn)證碼具備運(yùn)營商特有的身份認(rèn)證能力,企業(yè)通過接入c#短信接口發(fā)送語音驗(yàn)證碼,及時(shí)有效地確認(rèn)用戶身份安全,保障用戶的賬號安全,優(yōu)化企業(yè)的服務(wù)體驗(yàn),語音通知?jiǎng)t是企業(yè)維護(hù)會員最常見的方式之一,通常具備功能性,例如系統(tǒng)通知、物流通知等,相較于新生的微信通知等方式,語音通知的觸達(dá)率更高,更及時(shí),也更不容易被用戶所遺漏。

法律、家政、服裝、醫(yī)療、家裝、餐飲等行業(yè)常常用語音驗(yàn)證碼來保障自身客戶體系的安全,將重要通知通過短信的形式傳達(dá)給他們用戶,短信平臺會通過c#短信接口將語音驗(yàn)證碼準(zhǔn)確下發(fā)給用戶,幫助這些行業(yè)做好客戶營銷。

相較于其他同類型產(chǎn)品而言,語音驗(yàn)證碼的優(yōu)勢也更為明顯,語音驗(yàn)證碼的下發(fā)速度通常維持在5秒以內(nèi),同時(shí)對于用戶的觸達(dá)率更高,不容易被用戶遺漏,三大運(yùn)營商賦予短信的身份認(rèn)證能力也是其他同類型產(chǎn)品所不具備的,這也使得語音驗(yàn)證碼成為構(gòu)建用戶安全體系中不可或缺的一環(huán)。

c#短信接口接入流程大致分為四步:注冊、測試、認(rèn)證、充值、正式接入。語音驗(yàn)證碼支持測試使用,用戶只需注冊登陸,即可領(lǐng)取測試短信條數(shù),完成技術(shù)對接,進(jìn)行短信測試之后,用戶完成企業(yè)認(rèn)證和賬戶充值,服務(wù)即可正式上線。

短信接口對接是短信平臺上的基本數(shù)據(jù)提交方式,主要有HTTP/HTTPS接口、webservice接口和cmpp接口,其中HTTP/HTTPS接口是最常用的數(shù)據(jù)提交方式,通常分為GET和POST兩種方式,GET方式提交數(shù)據(jù)的速度更快,post方式提交數(shù)據(jù)的量更大。短信接口接入的方式主要應(yīng)用于企業(yè)自身的產(chǎn)品。

想要了解更多關(guān)于c#實(shí)現(xiàn)語音驗(yàn)證碼功能的相關(guān)內(nèi)容,請點(diǎn)擊查看助文檔,十分鐘即可快速接入語音短信服務(wù)。

顯示更多

5分鐘快速自助開通免費(fèi)試用賬戶

在線咨詢
電話咨詢

服務(wù)熱線:

4008 808 898

服務(wù)熱線(工作時(shí)間):

4008 808 898

業(yè)務(wù)咨詢(非工作時(shí)間):

售后咨詢(非工作時(shí)間):

驗(yàn)證碼已發(fā)送到您的手機(jī),請查收!

輸入驗(yàn)證碼后,點(diǎn)擊“開通體驗(yàn)賬戶”按鈕可立即開通體驗(yàn)賬戶。

收不到短信驗(yàn)證碼?
互億無線不提供接碼服務(wù),接碼用戶請勿點(diǎn)擊開通按鈕。
×