我在这里不知所措。我为我的一个网站创建了一个API(如果它具有任何价值,那么这个API就是本地托管的,以便于开发)。我尝试通过简单的GET请求传递一些信息,但我遇到了一个大问题。WebClient.DownloadString(“https:// ....”)崩溃。没有例外
Dim wc As WebClient = New WebClient()
Dim ServerResponse As String = wc.DownloadString(New Uri(entireRequest))
MsgBox("This will NEVER be run")
上述代码正在单独的线程中运行。问题是,当调用DownloadString
行时,以后不会运行其他代码。我曾尝试在该行之后设置断点,但没有找到。
A 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
提前感谢!我做了很多搜索,你是我最后的希望!
为什么你使用多线程而不是'WebClient.DownloadStringAsync'? –
我有其他代码需要在单独的线程中与上面的代码一起运行。谢谢! –