public static string PostUrl(string url, string jsonContent, ref string message)
{
try
{
HttpWebRequest request;
//如果url是以https开头的
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
//去掉SSL证书认证
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);//验证服务器证书回调自动验证
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
request = (HttpWebRequest)WebRequest.Create(url);
request.ProtocolVersion = HttpVersion.Version10;
}
else
{
//http开头的
request = (HttpWebRequest)WebRequest.Create(url);
//跳过证书校验
request.ServerCertificateValidationCallback = (_s, _x509s, _x509c, _ssl) => { return (true); };
}
request.Method = "POST";
request.ContentType = "application/json; charset=utf-8";
byte[] bArr = Encoding.UTF8.GetBytes(jsonContent);
request.ContentLength = bArr.Length;
request.GetRequestStream().Write(bArr, 0, bArr.Length);
//步骤③ 向网关发送请求
string result = "";
using (var res = request.GetResponse())
using (var responseStream = res.GetResponseStream())
{
// 步骤④ 返回响应信息
using (StreamReader reader = new StreamReader(responseStream, Encoding.UTF8))
{
result = reader.ReadToEnd();
}
}
return result;
}
catch (Exception ex)
{
message = ex.Message;
return "";
}
}
private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
// 总是接受
return true;
}
03-02
2573