Загрузка файла через https с помощью WebClient - PullRequest
2 голосов
/ 18 мая 2011

В настоящее время я пытаюсь загрузить файл через https с помощью System.Net.WebClient

Файл создается локально, но когда я открываю его, в нем просто появляется текст «Виртуальный пользователь xxxxxx вошел в систему». где xxxxxx - имя пользователя, которое было отправлено.

Я пытался заставить это работать некоторое время с теми же результатами. Я хотел выяснить, была ли у кого-нибудь еще эта проблема, и если да, то смогли ли вы ее преодолеть?

Вот код, с которого я пытаюсь выполнить загрузку.

Private Sub btnDownload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDownload.Click
    Dim webConnection As New WebClient()
    Dim credentials As New NetworkCredential("xxxxxx", "password")

    Try
        webConnection.BaseAddress = "https://ftp.sitename.com/content/"
        webConnection.Credentials = credentials
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

    Try
        webConnection.DownloadFile("https://ftp.sitename.com/content/source_file.dat", "destination_file.dat")
        MsgBox("File Downloaded!")
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

Ответы [ 2 ]

0 голосов
/ 26 июня 2017

Это работало в моем случае для «https: //» - загрузка (я новичок в WebClient & Co., поэтому некоторые части кода могут быть избыточными или соответствовать только этому сценарию ...), яв качестве объекта требовалось растровое изображение, поэтому сохранение потока здесь не реализовано:

    Public Shared Function GetImage(url As string) As Bitmap

    Dim x As Bitmap = Nothing
    Try
        Dim urlpath = $"{url}"
        Dim cred = $"user:password"
        Dim req = WebRequest.Create(urlpath)
        req.Headers("Authorization") = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(cred))
        req.ContentType = "application/json"
        Dim wr As WebResponse = req.GetResponse
        Dim recstr = wr.GetResponseStream
        x = New Bitmap(recstr)
    Catch ex As WebException
    End Try
    Return x
End Function
0 голосов
/ 18 мая 2011

Первым параметром DownloadFile должен быть полный URL-адрес файла, который вы хотите загрузить.Здесь похоже, что вы передаете каталог.Если вы хотите загрузить файл «имя_файла.dat» и сохранить его в текущем рабочем каталоге под именем «имя_файла.dat», вы должны написать:

webConnection.DownloadFile("https://ftp.sitename.com/content/file_name.dat", "file_name.dat")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...