微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HttpUtil工具类

代码

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

    }
}
View Code

标签:HTTP Post

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐