c# HttpWebRequest get post请求方法 加header

public static string Get(string url)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader sr = new StreamReader(response.GetResponseStream(),Encoding.UTF8))
{
string result = sr.ReadToEnd();
return result;
}
}

public static string Get(string url, string encode, CookieContainer cookie = null,
string userAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36"
, KeyValuePair<string, string>[] headers = null, int timeout = 9000)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = timeout;
request.Method = "GET";
request.ContentType = "text/html;charset=" + encode;
if (cookie != null)
{
request.CookieContainer = cookie;
}
if (headers != null)
{
foreach (var header in headers)
{
request.Headers.Add(header.Key, header.Value);
}
}
request.UserAgent = userAgent;
request.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

using (StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
string result = sr.ReadToEnd();
return result;
}
}

public static string Post(string url, string parameters, string encode, CookieContainer cookie = null, string contentType = "application/x-www-form-urlencoded"
, KeyValuePair<object, string>[] headers = null, int timeout = 9000)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(url));

Stream newStream = null;
try
{
request.ContentType = contentType;
request.Method = "POST";
request.Timeout = timeout;

if (cookie != null)
{
request.CookieContainer = cookie;
}

if (headers != null)
{
foreach (var header in headers)
{
if (header.Key is HttpRequestHeader)
{
var httpRequestHeader = ((HttpRequestHeader)header.Key);
request.Headers.Add(httpRequestHeader, header.Value);
}
else
{
request.Headers.Add(header.Value, header.Value);
}
}
}

Encoding encoding = Encoding.GetEncoding(encode);
byte[] byteArray = encoding.GetBytes(parameters); //转化
request.ContentLength = byteArray.Length;
newStream = request.GetRequestStream();
newStream.Write(byteArray, 0, byteArray.Length); //写入参数
newStream.Close();

using (StreamReader sr = new StreamReader( request.GetResponse().GetResponseStream(), Encoding.UTF8))
{
string result = sr.ReadToEnd();
return result;
}
}
finally
{
if (newStream != null)
{
newStream.Close();
}
}
}

posted @ 2025-06-12 10:24  jechsky1  阅读(250)  评论(0)    收藏  举报