System. Net .WebClient.DownloadFile times - только для одного домена - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть стампер, чтобы положить конец всем стамперам. У меня есть (очень простое) приложение VB. NET, которое должно загрузить файл XML и прочитать его (среди прочего). У нас есть несколько веб-сред - dev, qa, prod, uat и др. c. Я могу скачать что угодно, используя System. Net .Webclient.DownloadFile. Но когда я перехожу на наш URL-адрес UAT и пробую его там, запрос на загрузку файла истекает. Это происходит ТОЛЬКО с нашим веб-сервером UAT. Рассмотрим этот код:

Private Function DownloadFile(ByVal sourceFile As String, ByVal destFile As String) As Boolean

        Dim remoteUri As String = sourceFile
        Dim fileName As String = GetFilename(sourceFile)

        Dim theUri As New Uri(sourceFile)

        Try
            Using client As New WebClient()

                client.Headers("User-Agent") = "Mozilla/4.0"
                client.UseDefaultCredentials = True
                client.DownloadFile(theUri, destFile)

            End Using

        Catch ex As Exception

            WriteToUpdateLog("Unable to download master file.", False)

        End Try

        Return True

    End Function

Нет проблем. Я уверен, что набрал неверный URL или что-то в этом роде… Я сразу же извлекаю URL из программы и вставляю его в веб-браузер, и файл загружается без проблем. Я сделал это 1000 раз - и это не опечатка.

Я также подумал, что, возможно, это проблема с сертификатом SSL (URL-адрес https). Нет. Я попытался установить сертификат, et c. не имеет никакого эффекта Что-то в моем приложении и этот URL не мне sh (я знаю, это звучит глупо и безумно, но у меня нет идей, чтобы попробовать).

Я даже вошел в свой файл HOSTS, думая, что возможно вход туда облажался. Там ничего нет.

Рассматриваемый URL является балансировщиком нагрузки - и я подозреваю, что это как-то связано с этим? Но опять же, когда я go к браузеру - нет проблем.

Я могу загрузить файл с любого из веб-серверов напрямую (которые находятся за балансировщиком нагрузки). Но мы не хотим обращаться к отдельным веб-серверам напрямую.

Кто-нибудь еще видел что-то подобное? Я сбит с толку прямо сейчас. Любые предложения о том, чтобы попробовать?

...