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;
}
/// 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;
}
相关文章推荐
- 转载-解决使用httpClient 4.3.x登陆 https时的证书报错问题
- 解决httpclient访问ssl资源报证书错误的问题
- 利用用户自己的服务器、tomcat下的解决iOS7.1企业应用无法安装应用程序 因为证书无效的问题
- Fiddler安装以及安全证书问题解决
- 解决jdk证书问题 生成jssecacerts PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilde
- Promise解决node.js回调问题
- iOS "此证书由未知颁发机构签名"此问题的解决方法
- 解决DefaultHttpClient已过时、第三方类库的jar包内容重复两个问题
- .NET中回发或回调参数无效问题的解决
- 解决httpclient请求响应压缩文本乱码问题
- XCode6上设备或证书不能自动创建和修改的问题解决
- Browser JRE安全证书版本 Bad Version 问题解决
- 解决微信OAuth2.0网页授权回调域名只能设置一个的问题
- C# KeyUp事件中MessageBox的回车(Enter)键回调问题解决方案
- 关于AppStore上线遇到900034证书问题 !已解决
- .NET中回发或回调参数无效问题的解决
- BlueCoat SG设备对非标准HTTPS应用访问提示不可信任发行者证书问题解决
- 启用“关闭自动根证书更新”,解决Windows系统各种卡顿的问题(Visual studio 卡、远程桌面mstsc卡、SVN卡)
- https p12证书请求解决问题过程
- 无法导出p12证书的问题解决办法