private int _timeout = 100000;
public int Timeout
{
get
{
return this._timeout;
}
set
{
this._timeout = value;
}
}
public string DoGet(string url)
{
System.Net.ServicePointManager.SecurityProtocol = (SecurityProtocolType)(0xc00);
HttpWebRequest webRequest = this.GetWebRequest(url, "GET");
webRequest.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
HttpWebResponse rsp = (HttpWebResponse)webRequest.GetResponse();
Encoding uTF = Encoding.UTF8;
return this.GetResponseAsString(rsp, uTF);
}
public string DoPost(string authorization, string url, string data)
{
System.Net.ServicePointManager.SecurityProtocol = (SecurityProtocolType)(0xc00);
HttpWebRequest webRequest = this.GetWebRequest(url, "POST");
webRequest.ContentType = "application/json;charset=utf-8";
webRequest.Headers.Add(HttpRequestHeader.Authorization, authorization);
byte[] bytes = Encoding.UTF8.GetBytes(data);
Stream requestStream = webRequest.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
try
{
HttpWebResponse httpWebResponse = (HttpWebResponse)webRequest.GetResponse();
Encoding encoding = Encoding.GetEncoding("UTF-8");
if (httpWebResponse.CharacterSet != null)
{
encoding = Encoding.GetEncoding(httpWebResponse.CharacterSet);
}
return this.GetResponseAsString(httpWebResponse, encoding);
}
catch (WebException ex)
{
using (WebResponse response = ex.Response)
{
HttpWebResponse httpResponse = (HttpWebResponse)response;
using (Stream sr = response.GetResponseStream())
using (var reader = new StreamReader(sr))
{
string text = reader.ReadToEnd();
return text;
}
}
}
}
public string DoPost(string url, string data)
{
System.Net.ServicePointManager.SecurityProtocol = (SecurityProtocolType)(0xc00);
HttpWebRequest webRequest = this.GetWebRequest(url, "POST");
webRequest.ContentType = "application/x-www-form-urlencoded";
byte[] bytes = Encoding.UTF8.GetBytes(data);
Stream requestStream = webRequest.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse httpWebResponse = (HttpWebResponse)webRequest.GetResponse();
Encoding encoding = Encoding.GetEncoding(httpWebResponse.CharacterSet);
return this.GetResponseAsString(httpWebResponse, encoding);
}
public HttpWebRequest GetWebRequest(string url, string method)
{
HttpWebRequest httpWebRequest;
if (url.Contains("https"))
{
//ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(this.CheckValidationResult);
httpWebRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
}
else
{
httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
}
httpWebRequest.ServicePoint.Expect100Continue = false;
httpWebRequest.Method = method;
httpWebRequest.KeepAlive = true;
httpWebRequest.Timeout = this._timeout;
return httpWebRequest;
}
public string GetResponseAsString(HttpWebResponse rsp, Encoding encoding)
{
Stream stream = null;
StreamReader streamReader = null;
string result;
try
{
stream = rsp.GetResponseStream();
streamReader = new StreamReader(stream, encoding);
result = streamReader.ReadToEnd();
}
finally
{
if (streamReader != null)
{
streamReader.Close();
}
if (stream != null)
{
stream.Close();
}
if (rsp != null)
{
rsp.Close();
}
}
return result;
}
C# 发起http请求
最新推荐文章于 2024-05-15 14:38:46 发布