小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我们使用的是C#语言
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
您好,在post请求中添加证书就能解决这个问题
最重要的是两行代码:初始化证书和添加证书。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
已经添加证书了,还是在报这个错
您好,请参考:
public static string PostWebRequest(string postUrl, string paramData)
{
string ret = string.Empty;
try
X509Certificate2 certificate = new X509Certificate2(@"E:\工作项目\apiclient_cert.p12", "1519238551", X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet); //初始化证书
byte[] byteArray = Encoding.Default.GetBytes(paramData); //转化
HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(postUrl));
webReq.Method = "POST";
webReq.ContentType = "application/x-www-form-urlencoded";
webReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
webReq.ClientCertificates.Add(certificate); //添加证书
webReq.ContentLength = byteArray.Length;
Util.SetCertificatePolicy();
Stream newStream = webReq.GetRequestStream(); //
newStream.Write(byteArray, 0, byteArray.Length);//写入参数
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls | SecurityProtocolType.Ssl3;
HttpWebResponse response = (HttpWebResponse)webReq.GetResponse(); //这里报错
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
ret = sr.ReadToEnd();
newStream.Close();
sr.Close();
response.Close();
}
catch (Exception ex)
return ex.Message;
return ret;
已解决,谢谢
楼主 如何解决得? 重新编写上面给的代码吗? 最近我这里微信退费也提示同样错误。能不能给点建议
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
您好,在post请求中添加证书就能解决这个问题
最重要的是两行代码:初始化证书和添加证书。
已经添加证书了,还是在报这个错
您好,请参考:
public static string PostWebRequest(string postUrl, string paramData)
{
string ret = string.Empty;
try
{
X509Certificate2 certificate = new X509Certificate2(@"E:\工作项目\apiclient_cert.p12", "1519238551", X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet); //初始化证书
byte[] byteArray = Encoding.Default.GetBytes(paramData); //转化
HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(postUrl));
webReq.Method = "POST";
webReq.ContentType = "application/x-www-form-urlencoded";
webReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
webReq.ClientCertificates.Add(certificate); //添加证书
webReq.ContentLength = byteArray.Length;
Util.SetCertificatePolicy();
Stream newStream = webReq.GetRequestStream(); //
newStream.Write(byteArray, 0, byteArray.Length);//写入参数
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls | SecurityProtocolType.Ssl3;
HttpWebResponse response = (HttpWebResponse)webReq.GetResponse(); //这里报错
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
ret = sr.ReadToEnd();
newStream.Close();
sr.Close();
response.Close();
newStream.Close();
}
catch (Exception ex)
{
return ex.Message;
}
return ret;
}
已解决,谢谢
楼主 如何解决得? 重新编写上面给的代码吗? 最近我这里微信退费也提示同样错误。能不能给点建议