代码出处:阅信
网站地址:http://www.jinloushiji.cn
- 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;
- }
- }
来源: https://www.oschina.net/code/snippet_2849288_58725