最近项目中用到发送验证码这个功能,需要请求一个短信接口,并且接收请求后返回的状态值,开始我觉得要抓取页面内容,然后自己也就这样做了,发现效果不理想,之后就放弃了。
接着就百度了,有人提到用HttpWebRequest,觉得很惊奇,然后就去msdn上看了看这个类,发现还真的可以实现。接着就开始改代码。如下:
1Random random =newRandom();2stringmessage ="您好,您此次操作的验证码为"+ random.Next(100000,999999);3stringurl ="http://000.000.000.000/000/000?account=****&pswd=****&mobile=****&msg=内容&needstatus=true";4HttpWebRequest req =(HttpWebRequest)HttpWebRequest.Create(url);5req.Method ="POST";6//req.Timeout = 5000;//请求超时时间7stringresponseText =string.Empty;8try9{10WebResponse wr =req.GetResponse();11//在这里对接收到的页面内容进行处理12StreamReader myreader =newStreamReader(wr.GetResponseStream(), Encoding.UTF8);13responseText = myreader.ReadToEnd();//HTML返回内容14stringstatus = responseText.Split('\n')[0].Split(',')[1];//获取返回的状态值 0为提交成功15req.Abort();16wr.Close();17}18catch(Exception ex)19{20responseText ="NO:"+ex.Message.ToString();21}