您的位置:首页 > 理论基础 > 计算机网络

HttpClient证书回调问题解决

2017-10-13 16:43 176 查看
/// <summary>
/// httpclient请求
/// </summary>
/// <param name="client"></param>
/// <param name="url"></param>
/// <param name="mobile"></param>
/// <param name="content"></param>
/// <returns></returns>
public string HttpRequest(HttpClient client, string url, string mobile, string content)
{
var req = new HttpRequestMessage();
req.Headers.Clear();
req.Headers.Add("ContentType", "application/x-www-form-urlencoded;charset=utf-8");
req.Method = HttpMethod.Post;
Dictionary<string, string> paras = new Dictionary<string, string>();
paras.Add("action", "send");
paras.Add("account", this.config.Account.UserName);
paras.Add("password", this.config.Account.Password);
paras.Add("mobile", mobile);
paras.Add("content", content);
req.Content = new FormUrlEncodedContent(paras);
req.RequestUri = new Uri(url);
ServicePointManager.ServerCertificateValidationCallback = ValidateServerCertificate;
var response = client.SendAsync(req).Result;
try
{
response.EnsureSuccessStatusCode();
}
catch (Exception ex)
{
Trace.TraceError("Error:{0}", ex.Message);
return "";
}
return response.Content.ReadAsStringAsync().Result;
}
private bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
return true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: