//https请求规避验证
private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true; //总是接受
}
//Post请求
private string POST(string url, string ContentType, string Accept, String message, params string[] args)
{
string result = string.Empty;
//HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
HttpWebRequest request = null;
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
request = WebRequest.Create(url) as HttpWebRequest;
request.ProtocolVersion = HttpVersion.Version10;
}
else
{
request = WebRequest.Create(url) as HttpWebRequest;
}
request.Method = "POST";
request.ContentType = ContentType;
request.Accept = Accept;
for (var i = 0; i < args.Length; i++)
{
request.Headers[args[i].Substring(0, args[i].IndexOf(","))] = args[i].Substring(args[i].IndexOf(",") + 1);
}
Stream stream = request.GetRequestStream();
// 发送数据 不带 BOM xml
UTF8Encoding utf8 = new UTF8Encoding(false);
StreamWriter myStreamWriter = new StreamWriter(stream, utf8);
myStreamWriter.Write(message);
myStreamWriter.Close();
HttpWebResponse rep = (HttpWebResponse)request.GetResponse();
Stream receiveStream = rep.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
StreamReader readStream = new StreamReader(receiveStream, encode);
Char[] read = new Char[256];
int count = readStream.Read(read, 0, 256);
StringBuilder strBuilder = new StringBuilder("");
while (count > 0)
{
String readstr = new String(read, 0, count);
strBuilder.Append(readstr);
count = readStream.Read(read, 0, 256);
}
rep.Close();
readStream.Close();
result = strBuilder.ToString();
return result;
}
private string GET(string url, string ContentType, string Accept, params string[] args)
{
string result = string.Empty;
// 准备请求
HttpWebRequest request = null;
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
request = WebRequest.Create(url) as HttpWebRequest;
request.ProtocolVersion = HttpVersion.Version10;
}
else
{
request = WebRequest.Create(url) as HttpWebRequest;
}
request.Method = "GET";
request.ContentType = ContentType;
request.Accept = Accept;
for (var i = 0; i < args.Length; i++)
{
request.Headers[args[i].Substring(0, args[i].IndexOf(","))] = args[i].Substring(args[i].IndexOf(",") + 1);
}
//request.Headers["键"] = "值";
HttpWebResponse httpWebResponse = (HttpWebResponse)request.GetResponse();
Stream stream = httpWebResponse.GetResponseStream();
StreamReader readStream = new StreamReader(stream, Encoding.GetEncoding("utf-8"));
result = readStream.ReadToEnd();
readStream.Close();
stream.Close();
return result;
}