好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#代码实现短信验证码接口示例

本文实例为大家分享了C#实现短信验证码接口示例,供大家参考,具体内容如下

?

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Net.Security;

using System.Security.Cryptography.X509Certificates;

using System.Net;

using System.IO;

using System.IO.Compression;

using System.Text.RegularExpressions;

using System.Security.Cryptography;

using System.Web;

public class Test

{

     private static readonly string DefaultUserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)" ;

 

     private static bool CheckValidationResult( object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)

     {

       return true ; //总是接受  

     }

    static void Main( string [] args)

     {

       DateTime dt = DateTime.Now;

       string mttime = dt.ToString( "yyyyMMddHHmmss" );

       string pwd1 = "*************" +mttime;

    string pwd = GetMD5(pwd1)

       string content = "【阅信】验证码888888,打死也不能告诉别人哦。" ;

       string url = "http://183.203.28.226:9000/HttpSmsMt" ;

       Encoding encoding = Encoding.GetEncoding( "utf-8" );

       IDictionary< string , string > parameters = new Dictionary< string , string >();

       parameters.Add( "name" , "****" );

       parameters.Add( "pwd" , pwd);

       parameters.Add( "content" ,content);

       parameters.Add( "phone" , "13381272353" );

       parameters.Add( "subid" , "" );

       parameters.Add( "mttime" , mttime);

       HttpWebResponse response = CreatePostHttpResponse(url,parameters,encoding);

       //打印返回值

       Stream stream = response.GetResponseStream();  //获取响应的字符串流

       StreamReader sr = new StreamReader(stream); //创建一个stream读取流

       string html = sr.ReadToEnd();  //从头读到尾,放到字符串html

       Console.WriteLine(html); 

     }

       public static string GetMD5( string myString)

     {

       MD5 md5 = new MD5CryptoServiceProvider();

       // byte[] fromData = System.Web.HttpUtility.UrlEncode.GetBytes(myString);

       byte [] fromData = Encoding.Default.GetBytes(myString);

       byte [] targetData = md5.ComputeHash(fromData);

       string byte2String = null ;

       for ( int i=0;i<targetData.Length;i++)

       {

         byte2String+= targetData[i].ToString( "x" );

       }

       return byte2String;

     }

       public static HttpWebResponse CreatePostHttpResponse( string url, IDictionary< string , string > parameters,Encoding charset)

     {

       HttpWebRequest request = null ;

       //HTTPSQ请求

       ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);

       request = WebRequest.Create(url) as HttpWebRequest;

       request.ProtocolVersion = HttpVersion.Version10;

       request.Method = "POST" ;

       request.ContentType = "application/x-www-form-urlencoded" ;

       request.UserAgent = DefaultUserAgent;

       //如果需要POST数据  

       if (!(parameters == null || parameters.Count == 0))

       {

         StringBuilder buffer = new StringBuilder();

         int i = 0;

         foreach ( string key in parameters.Keys)

         {

           if (i > 0)

           {

             buffer.AppendFormat( "&{0}={1}" , key, parameters[key]);

           }

           else

           {

             buffer.AppendFormat( "{0}={1}" , key, parameters[key]);

           }

           i++;

         }

         byte [] data = charset.GetBytes(buffer.ToString());

         using (Stream stream = request.GetRequestStream())

         {

           stream.Write(data, 0, data.Length);

         }

       }

       return request.GetResponse() as HttpWebResponse;

     }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

dy("nrwz");

查看更多关于C#代码实现短信验证码接口示例的详细内容...

  阅读:40次