HTTP与HTTPS的Post请求

来源:互联网 发布:阿里云 ss 编辑:程序博客网 时间:2024/06/06 02:38

     半年前写过一篇Http与Https的区别,在项目中用到的较少,最近在做一个文件上传与下载的项目,之前使用的是http协议传输,高手那么多,不免会有淘气的人搞点破坏,导致网站存在一些安全性问题,为了解决安全性问题,决定改用Https协议传输。

    Https(Hypertext Transfer Protocol over Secure Socket Layer)是以安全为目的的HTTP通道,即HTTP下加入SSL层,在请求的时候会声明一个对象:HttpWebRequest,在采用Https协议Post数据的时候需要告诉HttpWebRequest对象传输数据的大小,而Http不需要。下边是两种请求方式的代码:

HTTP请求:

 HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.Timeout = MultitoolRestApiTimeout; request.Method = "POST"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader sr = new StreamReader(response.GetResponseStream()); //response返回的数据 string result = sr.ReadLine();
HTTPS请求:

 byte[] bs = Encoding.ASCII.GetBytes(Data); HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.Method = "POST"; request.ContentLength = bs.Length; request.Timeout = MultitoolRestApiTimeout; using (Stream reqStream = request.GetRequestStream()) {     reqStream.Write(bs, 0, bs.Length); } using (WebResponse wr = request.GetResponse()) {     //在这里对接收到的页面内容进行处理     HttpWebResponse response = (HttpWebResponse)request.GetResponse();     StreamReader sr = new StreamReader(response.GetResponseStream());     string result = sr.ReadLine();  }
总结:

     经过测试,Https的请求代码同样支持Http的请求。


原创粉丝点击