qq_57935926
2022-05-14 16:23
采纳率: 100%
浏览 15

C#winfrom 通过“互亿无线”发送短线验证,收不到验证码

已在互亿无线注册,收不到验证码: 写的代码是这样的
string PostUrl = "http://106.ihuyi.com/webservice/sms.php?method=Submit%22;
//登录“互亿无线网站”查看用户名 登录用户中心->验证码通知短信>产品总览->API接口信息->APIID
string account = "C82474379";
//登录“互亿无线网站”查看密码 登录用户中心->验证码通知短信>产品总览->API接口信息->APIKEY
string password = "422c46e72e480c4869fbba175de921c8";
//接收短信的用户的手机号码
string mobile = Recipient_Mobile_Num;
//随机生成四位数 可以模仿向用户发送验证码
Random rad = new Random();
int mobile_code = rad.Next(1000, 10000); //生成随机数
string content = "您的验证码是:" + mobile_code + " 。请不要把验证码泄露给其他人。";

        string postStrTpl = "account={0}&password={1}&mobile={2}&content={3}";  //用户名+密码+注册的手机号+验证码

        UTF8Encoding encoding = new UTF8Encoding();  //万国码
        //将 account, password, mobile, content 这四个内容添加到postStrTpl字符串当中
        //并利用encoding.GetBytes()将括号里面的字符串转化为二进制类型
        byte[] postData = encoding.GetBytes(string.Format(postStrTpl, account, password, mobile, content)); //将字符串postStrTpl中的格式项替换为四个个指定的 Object 实例的值的文本等效项。再转为二进制数据

        //新建一个请求对象
        HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(PostUrl);//对统一资源标识符 (URI) 发出请求。 这是一个 abstract 类。
        myRequest.Method = "POST";
        myRequest.ContentType = "application/x-www-form-urlencoded";
        myRequest.ContentLength = postData.Length;

        Stream newStream = myRequest.GetRequestStream();
        //间postData合并到 PostUrl中去
        newStream.Write(postData, 0, postData.Length);
        newStream.Flush();
        newStream.Close();


        //以http://106.ihuyi.com/webservice/sms.php?method=Submit&account=你的APIID&password=你的APIKEY&mobile=接收短信的用户的手机号码&content=您的验证码是:" + mobile_code + " 。请不要把验证码泄露给其他人。"    发起https请求   并获取请求结果
        HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();

        if (myResponse.StatusCode == HttpStatusCode.OK)
        {
            return true;
        }
        else
        {
            return false;
            //访问失败
        }

1条回答 默认 最新

相关推荐 更多相似问题