ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

注册验证码短信收不到是怎么回事

2021-09-22 16:58:04  阅读:464  来源: 互联网

标签:Set http req 验证码 接口 短信 收不到


企业在使用验证码、通知短信的场景中,经常会遇到部分用户接收不到短信的情况

那究竟是什么原因导致部分用户不能正常接收短信?一般来说,有如下几个原因:
1)短信通道不稳定;
2)短信通道不支持携号转网号码;
3)客户退订过短信服务;
4)客户曾经有过投诉,手机号在运营的黑名单中;

要解决这些问题,对企业来说,需要付出很多额外的成本,包括开发成本和短信接口成本(需要对接2家以上的短信供应商),并且大多数企业在实际使用短信前,基本上考虑不到这些问题,这就导致了绝大多数企业并未针对以上问题做应对方案。

为了帮助企业解决这些问题,提升短信的使用体验与效果,就需要找一家能解决以上问题的的供应商平台,提供如下一站式的解决方案:
1)、实时监控每条短信通道的健康状况,如遇异常,系统实时自动路由到健康备用通道;
2)、为每位用户配置1主2备短信通道,并通过程序逻辑自动热切,做到用户无感知;
3)、配置的短信通道支持携号转网;
4)、实时跟踪每条短信的发送时间与成功状态,如遇到异常,系统自动实时换通道补发。

代码示例

//接口类型:互亿无线触发短信接口,支持发送验证码短信、订单通知短信等。
// 账户注册:请通过该地址开通账户http://user.ihuyi.com/?b5kwA
// 注意事项:
//(1)调试期间,请使用用系统默认的短信内容:您的验证码是:【变量】。请不要把验证码泄露给其他人。
//(2)请使用 APIID 及 APIKEY来调用接口,可在会员中心获取;
//(3)该代码仅供接入互亿无线短信接口参考使用,客户可根据实际需要自行编写;
 
package main
 
import (
    "crypto/md5"
    "encoding/hex"
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
    "strconv"
    "strings"
    "time"
)
 
func GetMd5String(s string) string {
    h := md5.New()
    h.Write([]byte(s))
    return hex.EncodeToString(h.Sum(nil))
}
func main() {
    v := url.Values{}
    _now := strconv.FormatInt(time.Now().Unix(), 10)
    //fmt.Printf(_now)
    _account := "cf_xxxxxxx"//查看用户名 登录用户中心->验证码通知短信>产品总览->API接口信息->APIID
    _password := "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" //查看密码 登录用户中心->验证码通知短信>产品总览->API接口信息->APIKEY
    _mobile := "136xxxxxxxx"
    _content := "您的验证码是:9552。请不要把验证码泄露给其他人。"
    v.Set("account", _account)
    v.Set("password", GetMd5String(_account+_password+_mobile+_content+_now))
    v.Set("mobile", _mobile)
    v.Set("content", _content)
    v.Set("time", _now)
    body := strings.NewReader(v.Encode()) //把form数据编下码
    client := &http.Client{}
    req, _ := http.NewRequest("POST", "http://106.ihuyi.com/webservice/sms.php?method=Submit&format=json", body)
 
    req.Header.Set("Content-Type", "application/x-www-form-urlencoded; param=value")
    //fmt.Printf("%+v\n", req) //看下发送的结构
 
    resp, err := client.Do(req) //发送
    defer resp.Body.Close()     //一定要关闭resp.Body
    data, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(data), err)
}

标签:Set,http,req,验证码,接口,短信,收不到
来源: https://blog.csdn.net/m0_61627247/article/details/120417892

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有