1. 程式人生 > 其它 >簡單http請求工具類

簡單http請求工具類

技術標籤:工具類c#

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;

namespace Company.Common.Utils
{
    public static class HttpUtils
    {
        public static string Get(string url)
        {
            return HttpUtils.Get(url, null);
        }
        public static string Get(string url, IDictionary<string, string> headerList)
        {
            HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
            httpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 4.0.30319)";
            httpWebRequest.ContentType = "application/json";
            if (headerList != null)
            {
                foreach (KeyValuePair<string, string> current in headerList)
                {
                    httpWebRequest.Headers.Add(current.Key, current.Value);
                }
            }
            Stream responseStream = httpWebRequest.GetResponse().GetResponseStream();
            string result;
            using (StreamReader streamReader = new StreamReader(responseStream))
            {
                string arg_83_0 = streamReader.ReadToEnd();
                responseStream.Close();
                result = arg_83_0;
            }
            return result;
        }
        public static string Post(string url, string postData, string contentType = "application/json")
        {
            WebClient expr_05 = new WebClient();
            expr_05.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 4.0.30319)");
            expr_05.Headers.Add("Content-Type", contentType);
            byte[] bytes = Encoding.UTF8.GetBytes(postData);
            byte[] bytes2 = expr_05.UploadData(url, "POST", bytes);
            return Encoding.UTF8.GetString(bytes2);
        }
        public static string PostByForm(string url, string postData, string contentType = "multipart/form-data")
        {
            WebClient expr_05 = new WebClient();
            expr_05.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 4.0.30319)");
            expr_05.Headers.Add("Content-Type", contentType);
            byte[] bytes = Encoding.UTF8.GetBytes(postData);
            byte[] bytes2 = expr_05.UploadData(url, "POST", bytes);
            return Encoding.UTF8.GetString(bytes2);
        }
        public static string Post(string url, string postData, IDictionary<string, string> headParams)
        {
            WebClient webClient = new WebClient();
            webClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 4.0.30319)");
            webClient.Headers.Add("Content-Type", "application/json");
            if (headParams != null && headParams.Count > 0)
            {
                foreach (KeyValuePair<string, string> current in headParams)
                {
                    if (webClient.Headers.AllKeys.Contains(current.Key))
                    {
                        webClient.Headers.Remove(current.Key);
                    }
                    webClient.Headers.Add(current.Key, current.Value);
                }
            }
            byte[] bytes = Encoding.UTF8.GetBytes(postData);
            byte[] bytes2 = webClient.UploadData(url, "POST", bytes);
            return Encoding.UTF8.GetString(bytes2);
        }
    }
}