我需要建立HTTPS调用一个远程服务器返回数据 该服务器剂量的反应不包括一个有效的HTTP协议
和我得到这个错误呼叫URL没有验证HTTP potocol
System.Net.WebException:服务器违反了协议。第= ResponseStatusLine
我都准备好这样做 useUnsafeHeaderParsing
但是,由于HTTP协议是实现没有可能帮得厉害
我可以告诉.NET在所有 或使用来跳过验证当我使用的浏览器将不会验证HTTP协议
我可以看到
我需要建立HTTPS调用一个远程服务器返回数据 该服务器剂量的反应不包括一个有效的HTTP协议
和我得到这个错误呼叫URL没有验证HTTP potocol
System.Net.WebException:服务器违反了协议。第= ResponseStatusLine
我都准备好这样做 useUnsafeHeaderParsing
但是,由于HTTP协议是实现没有可能帮得厉害
我可以告诉.NET在所有 或使用来跳过验证当我使用的浏览器将不会验证HTTP协议
我可以看到
我我到底有躺椅和我写了一些简单的代码在VB6
我把它转化为一个DLL注册的DLL并添加referens到.NET项目
他发出的呼吁,我来回VB6剂量不会瓶坯HTTP协议验证
难看,但工作
Option Explicit
Dim UrlStr As String
Public Sub InitUrlStr(ByVal pUrlStr As String)
UrlStr = pUrlStr
End Sub
Public Function SendHttpsRequest(ByVal pXml As String) As String
Dim WinHttp
Dim PostData
Set WinHttp = CreateObject("MSXML2.XMLHTTP")
PostData = pXml
WinHttp.Open "GET", UrlStr & PostData, False
WinHttp.Send ' Send request using https
SendHttpsRequest = WinHttp.responseText ' assign to local variable
End Function
你可以使用的响应类ServerCertificateValidationCallback回调忽略证书验证错误:
ServicePointManager.ServerCertificateValidationCallback =
(sender, certificate, chain, sslPolicyErrors) => true;
这是一个可以执行HTTP请求之前设置一个静态属性。
你很可能在服务器的另一端有问题。我愿意打赌,你没有通过其他网站。如果你正在与标准的Apache或IIS服务器交谈,他们在实现HTTP方面做得很好。您的连接可能会中断。尝试使用网络浏览器进行操作,看看它是否有效。
当我使用的是网络浏览器,它工作正常。 另一方面,它可能是一个应用程序可能一直在等待实现它们的HTTP协议自我没有IIS或Apache – Shvilam 2009-11-03 11:59:24
这将告诉服务器忽略证书而不是HTTP potocol – Shvilam 2009-11-03 11:14:01