C#实现手机发送验证码
之前不怎么了解这个,一直以为做起来很复杂。 直到前两天公司要求要做这个功能。 做了之后才发现 这不过就是一个POST请求就能实现的东西。现在给大家分享一下,有不足之处还请多多指教。 废话不多说 直接上代码。
1.先获取一个随机数字验证码(这里是6位数),然后编辑好需要发送的内容。 这里还做了个手机号码合法性的验证。
public string VerificationCode(string mobile) { if (IsHandset(mobile)) { string code = new Random().Next(111111, 999999).ToString(); string content = "亲,本次操作的验证码为:" + code + " 切勿泄漏此验证码信息给他人,如非本人操作,请忽略此条信息。"; bool ret = SendFast(mobile, content); if (ret) { return code; } else { return "发送失败"; } } else { return "手机号码格式不正确"; } } /// <summary> /// 验证手机号码是否合法 /// </summary> /// <param name="str_handset"></param> /// <returns></returns> public bool IsHandset(string str_handset) { return System.Text.RegularExpressions.Regex.IsMatch(str_handset, @"^1[3|4|5|7|8][0-9]\d{8}$"); }
2.然后调用发送消息的方法。传入地址和参数就OK了, 这里需要注意的是 要把发送的内容转换成字节。
3. 如果发送成功,返回的是一串XML数据,像这样的
1 <?xml version="1.0" encoding="utf-8" ?><returnsms> 2 <returnstatus>Success</returnstatus> 3 <message>ok</message> 4 <remainpoint>62095</remainpoint> 5 <taskID>2779227</taskID> 6 <successCounts>1</successCounts></returnsms>
这样就完成了, 希望对你们有帮助。