public class SmsServiceManager { public static string Send(string PhoneNumber, out string sendNo) { sendNo = GetRandomNum(); // 得到发送的验证码 // 当然 你也可以在这里或下面把这个SendNo插入数据库,就不用反回这个sendNO了 string tmp = ""; if (PhoneNumber != "") { // http://XXXXXXX/sms/interSms.aspx?smsUid=leizi&smsPwd=leizi123456&smsNumber={0}&smsContent={1}&smsWantTime=" // 因WebConfig中不&要转义成&所以配置如下,把 & 改成 & 就得到如下地址 // WebConfig中的配置为 value="http://XXXXXXX/sms/interSms.aspx?smsUid=leizi&smsPwd=leizi123456&smsNumber={0}&smsContent={1}&smsWantTime=" string urlData = ConfigurationManager.AppSettings["SmsUrl"].ToString(); string SMSContent = ConfigurationManager.AppSettings["SMSContent"].ToString(); // 发送的内容 "欢迎注册XXX,您的验证码是:{0}"这种 SMSContent = string.Format(SMSContent, sendNo); string url = ""; string urldata = ""; if (!string.IsNullOrEmpty(urlData)) { string[] arrUrlData = urlData.Split('?'); if (arrUrlData != null && arrUrlData.Length == 2) { url = arrUrlData[0]; // 服务地址 http://XXXXXXX/sms/interSms.aspx urldata = arrUrlData[1]; // 参数 smsUid=leizi&smsPwd=leizi123456&smsNumber={0}&smsContent={1}&smsWantTime= } else return "url配置错误!"; } else return "url配置错误!"; // 这个引用using system.web 对上面的{0},{1}格式化 urldata = string.Format(urldata, PhoneNumber,SMSContent); byte[] data = Encoding.UTF8.GetBytes(urldata); HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);// http://XXXXXXX/sms/interSms.aspx myRequest.Method = "POST"; myRequest.Timeout = 10000; myRequest.ContentType = "application/x-www-form-urlencoded"; myRequest.ContentLength = data.Length; Stream newStream = myRequest.GetRequestStream(); // Send the data. newStream.Write(data, 0, data.Length); newStream.Close(); //接收返回信息: HttpWebResponse response = (HttpWebResponse)myRequest.GetResponse(); StreamReader sreader = new StreamReader(response.GetResponseStream(), Encoding.Default); tmp = sreader.ReadToEnd(); // 读取反回信息 } return tmp; } public static string GetRandomNum() { string[] arr = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" }; string result = ""; Random r = new Random(); for (int i = 0; i < 6; i++) { result += arr[r.Next(0, 10)]; } return result; }