我正在尝试获取某些网页的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)未经授权。
我该如何解决这个问题?
答案 0 :(得分:13)
在我的情况下client.UseDefaultCredentials = true;
做了伎俩。
答案 1 :(得分:6)
我已经尝试了以下代码并且它正在运行。
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());
}
}
答案 2 :(得分:3)
尝试创建没有该域名部分的NetworkCredential
:
NetworkCredential nc = new NetworkCredential("?", "?");