Ошибка WebClient.UploadData: (401) Несанкционированный

Я получаю эту ошибку... Что меня удивляет, так это то, что у меня не активирована какая-либо защита для страницы, которую я вызываю...

WebClient myWebClient = new WebClient();
myWebClient.UploadData(myUrl,"POST", myByteArray);

Когда я получаю доступ непосредственно к странице (то есть), она работает нормально, с WebClient это не работает.

Кто-нибудь знает, что может быть не так?

2 ответа

Решение

IE поддерживает встроенную безопасность, которая будет использовать ваши текущие учетные данные в качестве имени пользователя и пароля, поэтому вам не нужно вводить их вручную.

Если вы используете IE, используйте Firefox и посмотрите, будет ли вам предложено ввести имя пользователя и пароль. Или в IE вы можете перейти в Инструменты, Параметры, Дополнительно и снять флажок Встроенная проверка подлинности Windows.

Скорее всего, вам придется настроить веб-приложение для поддержки анонимного доступа, либо вам нужно будет внедрить защиту в вашем WebClient.

Если вы изо всех сил пытаетесь добраться до сути дела, Fiddler может пролить немного света. Вам нужно будет вручную отредактировать свой код, чтобы пройти через прокси-сервер Fiddler, но как только это будет сделано, вы можете сравнить результат IE с кодом.

Другие вопросы по тегам