C# 對接Https介面

來源:互聯網
上載者:User

標籤:formdata   nec   redirect   null   pre   length   new   close   uil   

最近公司項目需要對接Https介面,將對接的代碼整理如下:

 1 public void Get() 2 { 3     HttpWebRequest request = null; 4 request = WebRequest.Create("https://10.15.67.27:8073/api/tvwall") as HttpWebRequest; 5 ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); 6 request.ProtocolVersion = HttpVersion.Version11; 7 // 這裡設定了協議類型。 8 ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; ;// SecurityProtocolType.Tls1.2; 9 request.KeepAlive = false;10 ServicePointManager.CheckCertificateRevocationList = true;11 ServicePointManager.DefaultConnectionLimit = 100;12 ServicePointManager.Expect100Continue = false;13 14 request.Method = "GET"; //使用get方式發送資料15 request.ContentType = "application/json";16 request.Accept = "application/json";17 request.Referer = null;18 request.AllowAutoRedirect = true;19 20 HttpWebResponse response = (HttpWebResponse)request.GetResponse();21 Stream stream = response.GetResponseStream();22 string result = string.Empty;23 using (StreamReader sr = new StreamReader(stream))24 {25 result = sr.ReadToEnd();26 }27 Console.Write(result);28 }

 

 1 public void Post() 2 { 3     Stream formDataStream = new System.IO.MemoryStream(); 4 HttpWebRequest request = null; 5 string formDataBoundary = String.Format("----------{0:N}", Guid.NewGuid()); 6 request = WebRequest.Create("https://10.15.67.27:8073/api/tvwall/25/scene/new") as HttpWebRequest; 7 ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); 8 request.ProtocolVersion = HttpVersion.Version11; 9 // 這裡設定了協議類型。10 ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; // SecurityProtocolType.Tls1.2;11 request.KeepAlive = false;12 ServicePointManager.CheckCertificateRevocationList = true;13 ServicePointManager.DefaultConnectionLimit = 100;14 ServicePointManager.Expect100Continue = false;15 16 request.Method = "POST";17 request.ContentType = "multipart/form-data; boundary=" + formDataBoundary;18 request.Accept = "application/json";19 request.Referer = null;20 request.AllowAutoRedirect = true;21 StringBuilder builder = new StringBuilder();22 23 foreach(var dic in parameters)24 {25 builder.AppendLine(string.Format("--{0}\r\nContent-Disposition: form-data; name=\"{1}\"\r\n\r\n{2}",26 formDataBoundary,27 dic.Key,28 dic.Value));29 }30 builder.AppendLine(string.Format("--{0}--", formDataBoundary));31 32 formDataStream.Write(encoding.GetBytes(builder.ToString()), 0, encoding.GetByteCount(builder.ToString()));33 formDataStream.Position = 0;34 byte[] formData = new byte[formDataStream.Length];35 formDataStream.Read(formData, 0, formData.Length);36 formDataStream.Close();37 38 Stream newStream = request.GetRequestStream();39 newStream.Write(formData, 0, formData.Length);40 newStream.Close();41 42 HttpWebResponse response = (HttpWebResponse)request.GetResponse();43 Stream stream = response.GetResponseStream();44 string result = string.Empty;45 using (StreamReader sr = new StreamReader(stream))46 {47 result = sr.ReadToEnd();48 }49 Console.Write(result);50 }

 

C# 對接Https介面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.