正在从 https url 下载 xml 文件

Downloading xml file from https url

我在从 HTTPS 网站下载文件时遇到问题,我正在使用 vb。 我有这段代码,它很简单,但主要问题是它需要在 Visual Studio 2003 中。 这是代码

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim client As New WebClient
    ' Download string.
    client.DownloadFile("https://www.un.org/sc/suborg/sites/www.un.org.sc.suborg/files/consolidated.xml", "consolidated.xml")

End Sub

但在我开始项目后,我收到一条消息告诉我:

Additional information: The underlying connection was closed: Could not establish secure channel for SSL/TLS.

有什么方法可以绕过这个安全通道吗? 谢谢

如您所愿,但是文件需要是文件的完全限定路径,您必须写入它的权限。

尝试创建一个临时文件,看看是否可行:

    'create a temp file
    Dim path = IO.Path.GetTempPath()
    Dim fileName = Guid.NewGuid().ToString() + ".xml"
    Dim fullyQualifiedPath = IO.Path.Combine(path, fileName)

    'download the file
    Using client As New WebClient
        client.DownloadFile("https://www.un.org/sc/suborg/sites/www.un.org.sc.suborg/files/consolidated.xml", fullyQualifiedPath)
    End Using

    'show the file so we can see what we downloaded
    Process.Start(fullyQualifiedPath)

请注意,您应该将 WebClient 包装在 Using 块中,因为这会处理对象

我用这行代码解决了我的问题

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls

如果有人需要 :)

@马特威尔科

这就是我使用 https 得到的结果:

请求已中止:无法创建 SSL/TLS 安全通道。 在 System.Net.WebClient.DownloadFile(Uri 地址,字符串文件名) 在 System.Net.WebClient.DownloadFile(字符串地址,字符串文件名)

使用 http 就可以了