webrequest 访问https url代
最近有个应用需要发送http/https webrequest,调用php https接口时注意设置 ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; c#代码如下:
/// <summary>/// Send Json Http Request/// </summary>/// <param name="requestURI"></param>/// <param name="json"></param>/// <returns></returns>public string SendHttpRequest(string requestURI, string json){//json格式请求数据string requestData = "query="+json;//URLstring serviceUrl = string.Format("{0}", requestURI);System.Text.RegularExpressions.Regex _reg = new System.Text.RegularExpressions.Regex("^https://",System.Text.RegularExpressions.RegexOptions.IgnoreCase);if (_reg.IsMatch(serviceUrl)){ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);}HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(serviceUrl);//utf-8编码byte[] buf = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(requestData);//post请求myRequest.Method = "POST";myRequest.ContentLength = buf.Length;//指定为json否则会出错//myRequest.ContentType = "application/json";myRequest.ContentType = "application/x-www-form-urlencoded";myRequest.MaximumAutomaticRedirections = 1;myRequest.AllowAutoRedirect = true;myRequest.KeepAlive = false;Stream newStream = myRequest.GetRequestStream();newStream.Write(buf, 0, buf.Length);newStream.Close();//获得接口返回值,格式为: {"name":"value"} HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);string ReqResult = reader.ReadToEnd();reader.Close();myResponse.Close();return ReqResult; }public bool CheckValidationResult(object sender,System.Security.Cryptography.X509Certificates.X509Certificate certificate,System.Security.Cryptography.X509Certificates.X509Chain chain,System.Net.Security.SslPolicyErrors errors){//直接确认,不然打不开return true;}#endregion
webrequest 访问https url代相关推荐
- curl 忽略证书访问 https
在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具.然而在使用cr ...
- VC++访问HTTPS服务器(不受限制)
之前用VC客户端访问HTTPS服务器时,遇到"认证作者无效或者不正确","证书已失效"及类似的问题相当棘手,在这里我把可以忽略这些认证的方法写出来,让遇到相同问 ...
- jodd忽略ssl证书_关于java访问https资源时,忽略证书信任问题
java程序在访问https资源时,出现报错 sun.security.validator.ValidatorException: PKIX path building failed: sun.sec ...
- Spring RestTemplate 访问https站点
RestTemplate 是Spring对HttpClient的封装, API的调用和结果的解析更简单了.举例来说,访问一个站点并获取结果的代码只需要两行代码就可以了,类似: String url = ...
- HttpClient 使用证书访问https站点
使用HttpClient访问https 站点时,如果JRE或者JDK没有导入某个站点的证书,则会报如下错误: javax.net.ssl.SSLHandshakeException: sun.secu ...
- Tomcat创建HTTPS访问,java访问https
一 https和ssL HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的 ...
- 处理HttpWebRequest访问https有安全证书的问题
处理HttpWebRequest访问https有安全证书的问题( 请求被中止: 未能创建 SSL/TLS 安全通道.) string strUrl = "https://xx.xx.xx.x ...
- javascript 微信企业号APP应用URL转换成PC端可正常访问的URL
时间过得飞快,准备写些东西的时候才发现自己快一年半没有写blog了,写这些东西只是为了记录下来自己走过的坑,为下次遇见同类的问题能够迅速解决,毕竟人脑有限,存储下来以备不时之需. 一:背景(功能需求) ...
- curl+个人证书访问https站点
目前,大公司的OA管理系统(俗称内网),安全性要求较高,通常采用https的双向 认证模式. 首先,什么是https,简单的说就是在SSL协议之上实现的http协议(get.post等操作) 什么是双 ...
最新文章
- page rank算法
- (视频+图文)机器学习入门系列-第3章 逻辑回归
- wxWidgets:HtmlLbox wxWidgets 示例
- 连接maven_Maven系列——超简单入门级教程
- 视频播放器for android
- Python统计列表中的重复项出现的次数的方法
- 如何在Hibernate中维护表的历史记录
- SQL Cookbook:二、查询结果排序(1)以指定的次序返回查询结果
- AWS安装CDH5.3-CentOS6.4中关键操作步骤
- PUC的完整形式是什么?
- pandas滑动窗口防止nan出现
- PHP从入门到接到外包合同,再到放弃
- 20天学会UI设计(PS+AI)入门教程
- 图片旋转90度解决的方法
- 跑步时戴什么耳机好、推荐几款专业跑步的耳机
- 迦瓦栈队 团队第六周项目总结
- WPS office文档 为何输入文字不显示
- 计量大学计算机学院,计算机科学与技术
- SD省队集训2019Day11之“loopy”
- ubuntu9.04安装xmms