веб-клиент 401 в C # - PullRequest
       1

веб-клиент 401 в C #

0 голосов
/ 07 февраля 2012

У меня есть некоторые проблемы с использованием веб-клиента.

Когда я пытаюсь это сделать:

var client = new WebClient();
client.Credentials = new NetworkCredential("intranet.homolog", "S3br@32011", "na-sebrae");
var html = client.DownloadData("http://www.intranet.sebrae.com.br/noticias/todas-as-notícias/rss.aspx?estado=");

Я получаю сообщение об ошибке (401).

Этот URL возвращаетсяxml feed, и, когда я захожу в браузер, я вхожу в систему как обычно.

Этот пользователь и пароль настоящие.

У кого-нибудь есть идеи для доступа к нему через веб-клиента?

Ответы [ 2 ]

1 голос
/ 26 февраля 2014

Я тоже получаю ту же ошибку.Та же ссылка работает лучше в браузере, но дает исключение 401 для WebClient.

    string url = "http://www.intranet.sebrae.com.br/noticias/todas-as-notícias/rss.aspx?estado=";
    var webClient = new WebClient();

    webClient.Credentials = CredentialCache.DefaultCredentials;

    byte[] html = webClient.DownloadData(fileAbsoluteUri);
1 голос
/ 07 февраля 2012

Вот мое предположение: вы неправильно используете конструктор NetworkCredential

Правильный синтаксис:

public NetworkCredential(
    string userName,
    string password,
    string domain
)

Сначала имя пользователя, затем пароль, затем домен - вы все неправильно поняли.

Попробуйте следующее:

var client = new WebClient();
client.Credentials = new NetworkCredential("na-sebrae", 
                                           "S3br@32011",  "intranet.homolog");
var html = client.DownloadData("http://www.intranet.sebrae.com.br" +
                               "/noticias/todas-as-notícias/rss.aspx?estado=");
...