代码:
using System; System.Collections.Generic; System.Collections.Specialized; System.IO; System.Linq; System.Net; System.Text; System.Threading; namespace Utils { /// <summary> /// Http上传下载文件 </summary> public class HttpUtil { #region HttpDownloadFile 下载文件 <summary> 下载文件 </summary> <param name="url">下载文件url路径</param> <param name="cookie">cookie</param> static MemoryStream HttpDownloadFile(string url,CookieContainer cookie = null,WebHeaderCollection headers = null) { try { // 设置参数 HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.Method = "GET"; request.CookieContainer = cookie; if (headers != ) { foreach (string key in headers.Keys) { request.Headers.Add(key,headers[key]); } } 发送请求并获取相应回应数据 HttpWebResponse response = request.GetResponse() HttpWebResponse; 直到request.GetResponse()程序才开始向目标网页发送Post请求 Stream responseStream = response.GetResponseStream(); 创建写入流 MemoryStream stream = new MemoryStream(); byte[] bArr = new byte[1024]; int size = responseStream.Read(bArr,0,(int)bArr.Length); while (size > 0) { stream.Write(bArr,,size); size = responseStream.Read(bArr,1)">)bArr.Length); } stream.Seek(return stream; } catch (Exception ex) { LogUtil.Error(ex); return ; } } #endregion #region HttpUploadFile 上传文件 Http上传文件 上传文件url路径<param name="bArr">byte数据上传文件<param name="fileName">文件名称static string HttpUploadFile(byte[] bArr,1)">string fileName,1)"> HttpWebRequest; CookieContainer cookieContainer = CookieContainer(); request.CookieContainer = cookieContainer; request.AllowAutoRedirect = true; request.Method = POST; string boundary = DateTime.Now.Ticks.ToString(X"); 随机分隔线 request.ContentType = text/plain;charset=utf-8 request.GetRequestStream(); postStream.Write(bArr,bArr.Length); postStream.Close(); 直到request.GetResponse()程序才开始向目标网页发送Post请求 Stream instream = response.GetResponseStream(); StreamReader sr = StreamReader(instream,Encoding.UTF8); 返回结果网页(html)代码 string content = sr.ReadToEnd(); instream.Close(); content; } string.Empty; } } #region HttpPost HttpPost url路径名称<param name="data">需要传输的数据string HttpPost(string data,1)"> HttpWebRequest; request.CookieContainer = cookie; request.Method = ; request.ContentType = application/json; if (data != byte[] bArr = ASCIIEncoding.UTF8.GetBytes(data); request.ContentLength = bArr.Length; Stream postStream = request.GetRequestStream(); postStream.Write(bArr,bArr.Length); postStream.Close(); } 设置参数 HttpWebRequest request = WebRequest.Create(url) HttpWebRequest; request.CookieContainer = cookie; request.Method = ; request.ContentType = ; ) { headers.Keys) { request.Headers.Add(key,headers[key]); } } 发送请求并获取相应回应数据 HttpWebResponse response = request.GetResponse() HttpWebResponse; 直到request.GetResponse()程序才开始向目标网页发送Post请求 Stream instream = response.GetResponseStream(); StreamReader sr = 返回结果网页(html)代码 sr.ReadToEnd(); instream.Close(); content; } #region HttpGet HttpGet string HttpGet( sr.ReadToEnd(); instream.Close(); <param name="cookieOut">传出的cookieout Cookie cookieOut,1)">获取Cookie CookieCollection cookieCollection = request.CookieContainer.GetCookies(request.RequestUri); if (cookieCollection != null && cookieCollection.Count > ) { cookieOut = cookieCollection[]; } else { cookieOut = ; } (Exception ex) { LogUtil.Error(ex); cookieOut = #endregion } }
标签:HTTP Post
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。