C# 代碼發送Request請求 獲得響應信息【包括https,http請求】
namespace WllDatetime
{
public class WllRequest
{
private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true; //總是接受
}
public static string HttpRequest(string url)
{
HttpWebRequest httpRequest;
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
httpRequest = WebRequest.Create(url) as HttpWebRequest;
httpRequest.ProtocolVersion = HttpVersion.Version10;
}
else
httpRequest = WebRequest.Create(url) as HttpWebRequest;
httpRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36";
HttpWebResponse httpResp = (HttpWebResponse)httpRequest.GetResponse();
Stream responseStream = httpResp.GetResponseStream(); //獲得響應的流
try
{
StringBuilder strBuff = new StringBuilder();
using (StreamReader responseStreamReader = new StreamReader(responseStream, Encoding.UTF8))
{
char[] cbuffer = new char[256];
int byteRead = responseStreamReader.Read(cbuffer, 0, 256);
while (byteRead != 0)
{
string strResp = new string(cbuffer, 0, byteRead);
strBuff.Append(strResp);
byteRead = responseStreamReader.Read(cbuffer, 0, 256);
}
}
return strBuff.ToString();
}
catch
{
return null;
}
}
}
}