WebClient генерирует (401) Несанкционированная ошибка

У меня есть следующий код, работающий в сервисе окон:

WebClient webClient = new WebClient();
webClient.Credentials = new NetworkCredential("me", "12345", "evilcorp.com");
webClient.DownloadFile(downloadUrl, filePath);

Каждый раз я получаю следующее исключение

{"The remote server returned an error: (401) Unauthorized."}

За следующим внутренним исключением:

{"The function requested is not supported"}

Я знаю наверняка, что учетные данные допустимы, на самом деле, если я перехожу к downloadUrl в своем веб-браузере и вставляю свои учетные данные как evilcorp.com \me с паролем 12345, это загружает прекрасный.

Что является странным, хотя то, что, если я определяю свои учетные данные как me@evilcorp.com с 12 345, это, кажется, перестало работать.

Существует ли способ отформатировать учетные данные?

32
задан Matt 27 January 2010 в 20:53
поделиться

2 ответа

Видимо, ОС вы работаете по вопросам, поскольку шифрование по умолчанию изменилось между ОС. Этот блог имеет более подробную информацию: http://ferozedaud.blogspot.com/2009/10/ntlm-auth-fails-with.html

Это, по-видимому, также обсуждалось в Stackoverflow здесь: 407 аутентификация Требуется - никакая проблема не отправлена ​​

, я бы предложил прочитать блог сначала как дистиллированные знания там.

6
ответ дан 27 November 2019 в 19:59
поделиться

Найден ответ. Это намного проще, чем я собирался.

# Textview with inverted colors
import gtk

tv = gtk.TextView()
tv.modify_base(gtk.STATE_NORMAL, gtk.gdk.color_parse('black'))
tv.modify_text(gtk.STATE_NORMAL, gtk.gdk.color_parse('white'))

Вот и все!!!

-121--4998374-

Похоже, вы спрашиваете, следует ли в вашей ситуации отдавать предпочтение наследству или составу. Я бы сказал, что вы не создаете новую реализацию List и вас не волнует, как List реализуется, поэтому наследование не подходит для вашей проблемы. Вместо этого предоставляется функция пейджинга. Я бы создал класс, который обобщенно упаковывает (инкапсулирует) логику подкачки с помощью List или какой-либо другой общей коллекции.

-121--3853752-

В соответствии с msdn docs исключение может быть связано с тем, что метод был вызван одновременно в нескольких потоках. Для метода DownloadFile также требуется полностью определенный URL-адрес, например http://evilcorp.com/ .

2
ответ дан 27 November 2019 в 19:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: