Как мне загрузить веб-страницу через http с помощью Visual Basic?

#vb.net

#vb.net

Вопрос:

Я написал следующий код для загрузки веб-страниц с сайтов, использующих SSL:

  Public Function DownloadFileUsingSSL(ByVal URLstring As String, ByVal descFilePathAndName As String, ByRef errorMessage As String) As Boolean
        Dim wc As WebClient

    Try
        wc = New WebClient()
        wc.Headers.Add("cookie", "")
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 Or SecurityProtocolType.Tls11 Or SecurityProtocolType.Tls
        wc.DownloadFile(URLstring, descFilePathAndName)
    Catch ex As Exception
        errorMessage = ex.Message
        Return False
    End Try
    Return True
End Function
  

Проблема в том, что она не работает, по крайней мере, когда я ее пробовал:

https://www.americanthinker.com/blog/2020/09/joe_biden_caught_on_tape_abusing_americas_troops.html

Любая помощь приветствуется

Комментарии:

1. Некоторые веб-сайты возвращают сжатые потоки, даже если вы не просили об этом (добавление Accept-Encoding заголовка). Когда это происходит, вы можете увидеть метод сжатия в content-encoding заголовке базового WebResponse (или соответствующее значение в свойстве WebClient ResponseHeaders ).

2. Чтобы избежать этого (и других) причуд, связанных с WebClient (например, неправильной кодировки), вместо этого используйте HttpClient . Распаковка, если таковая имеется, выполняется автоматически. Обратите внимание, что установка SecurityProtocol полезна только в Windows 7 / Windows Server 2008 R2. Избегайте в Windows 8.1