using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Net.Security; using System.Security.Cryptography.X509Certificates; using System.Text; using Library; // using MongoDB.Bson; // using MongoDB.Driver; // using MongoDB.Driver.Linq; namespace MySystem { public class IdCardCheckForThree { public readonly static IdCardCheckForThree Instance = new IdCardCheckForThree(); private IdCardCheckForThree() { } private const String host = "https://dfphone3.market.alicloudapi.com"; private const String path = "/verify_id_name_phone"; private const String method = "POST"; private const String appcode = "8e5704921ca3422f80f0deb935a7ddc6"; public string Do(string mobile, string idcard, string name) { String querys = ""; function.WriteLog(DateTime.Now.ToString(), "IdCard验证三要素日志"); function.WriteLog(querys, "IdCard验证三要素日志"); String bodys = "id_number=" + idcard + "&name=" + name + "&phone_number=" + mobile + ""; String url = host + path; HttpWebRequest httpRequest = null; HttpWebResponse httpResponse = null; if (0 < querys.Length) { url = url + "?" + querys; } if (host.Contains("https://")) { ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url)); } else { httpRequest = (HttpWebRequest)WebRequest.Create(url); } httpRequest.Method = method; httpRequest.Headers.Add("Authorization", "APPCODE " + appcode); //根据API的要求,定义相对应的Content-Type httpRequest.ContentType = "application/x-www-form-urlencoded; charset=UTF-8"; if (0 < bodys.Length) { byte[] data = Encoding.UTF8.GetBytes(bodys); using (Stream stream = httpRequest.GetRequestStream()) { stream.Write(data, 0, data.Length); } } try { httpResponse = (HttpWebResponse)httpRequest.GetResponse(); } catch (WebException ex) { httpResponse = (HttpWebResponse)ex.Response; } Stream st = httpResponse.GetResponseStream(); StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8")); string result = reader.ReadToEnd(); function.WriteLog(result, "IdCard验证三要素日志"); function.WriteLog("\n\n", "IdCard验证三要素日志"); return result; } public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true; } } }