我在这里不知所措。我已经为我的网站创建了一个API(如果它具有任何价值,那么本地托管以便于开发)。我正在尝试通过简单的GET请求传递一些信息,但我遇到了一个大问题。
Dim wc As WebClient = New WebClient()
Dim ServerResponse As String = wc.DownloadString(New Uri(entireRequest))
MsgBox("This will NEVER be run")
以上代码正在一个单独的线程中运行。问题是,当调用DownloadString
行时,之后不再运行其他代码。我尝试在该行之后设置断点,但没有一个被击中。
Try...Catch
块无效。我试过捕获Net.WebExceptions
和System.Exceptions。什么都没有被抓住。我End Try
上的断点从未被击中..
我注意到只有entireRequest
是https连接时才会发生这种情况。如果未加密,则不会发生此问题。
添加以下内容以忽略自签名证书不会做任何事情:
Public Class clsSSL
Public Shared Function AcceptAllCertifications(ByVal sender As Object, ByVal certification As System.Security.Cryptography.X509Certificates.X509Certificate, ByVal chain As System.Security.Cryptography.X509Certificates.X509Chain, ByVal sslPolicyErrors As System.Net.Security.SslPolicyErrors) As Boolean
Return True
End Function
End Class
提前致谢!我做了很多搜索,你是我最后的希望!
答案 0 :(得分:0)
由于这个问题解决了问题: Requesting html over https with c# Webclient
我只需要添加以下内容:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
我仍然感到困惑的是,为什么我没有被提出任何例外。对此有何答案?