解决https 请求过程中SSL问题
最近一个项目中用到了https的请求,在实际调用过程中发现之前的http方法不支持https,调用一直报错。
查询了一下,添加几行代码解决问题。
public string httppost(string url, string postdatastr, string useragent = null)
{
servicepointmanager.servercertificatevalidationcallback += (s, cert, chain, sslpolicyerrors) => true;//新增一行
system.net.servicepointmanager.securityprotocol = (securityprotocoltype)192 | (securityprotocoltype)768 | (securityprotocoltype)3072;//新增第二行,很重要
servicepointmanager.servercertificatevalidationcallback = new system.net.security.remotecertificatevalidationcallback(checkvalidationresult);//新增第三行
httpwebrequest request = (httpwebrequest)webrequest.create(url);
request.method = "post";
request.contenttype = "application/x-www-form-urlencoded";
request.contentlength = encoding.utf8.getbytecount(postdatastr);
if (!string.isnullorempty(useragent))
{
request.useragent = useragent;
}
stream myrequeststream = request.getrequeststream();
streamwriter mystreamwriter = new streamwriter(myrequeststream, encoding.getencoding("gb2312"));
mystreamwriter.write(postdatastr);
mystreamwriter.close();
httpwebresponse response = (httpwebresponse)request.getresponse();
stream myresponsestream = response.getresponsestream();
streamreader mystreamreader = new streamreader(myresponsestream, encoding.getencoding("utf-8"));
string retstring = mystreamreader.readtoend();
mystreamreader.close();
myresponsestream.close();
return retstring;
}
上一篇: 干鱼怎么做呢?快来和小编一探究竟吧~
下一篇: 优质白酒,都有哪些营养价值
推荐阅读
-
Android 使用volley过程中遇到的问题解决办法
-
完美解决node.js中使用https请求报CERT_UNTRUSTED的问题
-
java开发https请求ssl不受信任问题解决方法
-
Android编程向服务器发送请求时出现中文乱码问题的解决方法
-
解决axios会发送两次请求,有个OPTIONS请求的问题
-
解决Python找不到ssl模块问题 No module named _ssl的方法
-
Win7版IE10安装过程中的常见问题整理及解决
-
LNMP环境下,解决项目缓冲慢、502以及配置https的问题
-
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
-
Oracle安装过程中物理内存检查及临时temp空间不足问题解决