Ответ 1
В моем случае client.UseDefaultCredentials = true;
сделал трюк.
Я пытаюсь получить html-код определенной веб-страницы, У меня есть имя пользователя и пароль, которые являются правильными, но я все еще не могу заставить его работать, это мой код:
private void buttondownloadfile_Click(object sender, EventArgs e)
{
NetworkCredentials nc = new NetworkCredentials("?", "?", "http://cdrs.globalpopsvoip.com/0000069/20091229/20091228_20091228.CDR");
WebClient client = new WebClient();
client.Credentials = nc;
String htmlCode = client.DownloadString("http://cdrs.globalpopsvoip.com/0000069/20091229/20091228_20091228.CDR");
MessageBox.Show(htmlCode);
}
MessageBox должен просто протестировать его, проблема в том, что каждый раз, когда я добираюсь до этой строки:
String htmlCode = client.DownloadString("http://cdrs.globalpopsvoip.com/0000069/20091229/20091228_20091228.CDR");
Я получаю исключение:
Удаленный сервер возвратил ошибку: (401) Неавторизованный.
Как это исправить?
В моем случае client.UseDefaultCredentials = true;
сделал трюк.
Я пробовал следующий код и работает.
private void Form1_Load(object sender, EventArgs e)
{
try
{
// Create Request
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(@"http://192.168.0.181/axis-cgi/com/ptz.cgi?move=up");
// Create Client
WebClient client = new WebClient();
// Assign Credentials
client.Credentials = new NetworkCredential("root", "a");
// Grab Data
string htmlCode = client.DownloadString(@"http://192.160.0.1/axis-cgi/com/ptz.cgi?move=up");
// Display Data
MessageBox.Show(htmlCode);
}
catch (WebException ex)
{
MessageBox.Show(ex.ToString());
}
}
Попробуйте создать NetworkCredential
без этой части домена:
NetworkCredential nc = new NetworkCredential("?", "?");