Ошибка WebClient.UploadData: (401) Несанкционированный
Я получаю эту ошибку... Что меня удивляет, так это то, что у меня не активирована какая-либо защита для страницы, которую я вызываю...
WebClient myWebClient = new WebClient();
myWebClient.UploadData(myUrl,"POST", myByteArray);
Когда я получаю доступ непосредственно к странице (то есть), она работает нормально, с WebClient это не работает.
Кто-нибудь знает, что может быть не так?
2 ответа
IE поддерживает встроенную безопасность, которая будет использовать ваши текущие учетные данные в качестве имени пользователя и пароля, поэтому вам не нужно вводить их вручную.
Если вы используете IE, используйте Firefox и посмотрите, будет ли вам предложено ввести имя пользователя и пароль. Или в IE вы можете перейти в Инструменты, Параметры, Дополнительно и снять флажок Встроенная проверка подлинности Windows.
Скорее всего, вам придется настроить веб-приложение для поддержки анонимного доступа, либо вам нужно будет внедрить защиту в вашем WebClient.
Если вы изо всех сил пытаетесь добраться до сути дела, Fiddler может пролить немного света. Вам нужно будет вручную отредактировать свой код, чтобы пройти через прокси-сервер Fiddler, но как только это будет сделано, вы можете сравнить результат IE с кодом.