c# 如何用WebClient实现网页登陆? 并保持登陆状态,下载所需要的文件.
我虽然可以用webbrowser可以实现,不过会跳出 WIN系统的 下载框体 出来.
//wbtest 的当前页面是dkp.178.com也就是登陆页面
HtmlElement ClickBtn = null;
HtmlDocument doc = wbtest.Document;
//搜寻表单中的元素.
for (int i = 0; i < doc.All.Count; i++)
{
if (doc.All[i].TagName.ToUpper().Equals("INPUT"))
{
switch (doc.All[i].Name)
{
case "email": //用户名文本框 的 name
doc.All[i].InnerText = "username";
break;
case "password": //密码文本框 的 name
doc.All[i].InnerText = "password";
break;
}
}
//按钮框 的 元素名,提交按钮是用BUTTON实现的.中间内容是登 陆
if (doc.All[i].TagName.ToUpper().Equals("BUTTON"))
{
if (doc.All[i].InnerText == "登 录")
{
ClickBtn = doc.All[i];
}
}
}
ClickBtn.InvokeMember("Click"); //执行按扭操作
int interval = 2000; //2 秒
//执行登陆后的下载操作,以178的DKP登陆后下载界面为例
wbtest.Navigate("http://dkp.178.com/action=download&option=log&guild_id=50519&setting=midkp");
有什么办法实现不跳框直接保存在想要的目录下.或者用WebClient登陆?
我虽然可以用webbrowser可以实现,不过会跳出 WIN系统的 下载框体 出来.
//wbtest 的当前页面是dkp.178.com也就是登陆页面
HtmlElement ClickBtn = null;
HtmlDocument doc = wbtest.Document;
//搜寻表单中的元素.
for (int i = 0; i < doc.All.Count; i++)
{
if (doc.All[i].TagName.ToUpper().Equals("INPUT"))
{
switch (doc.All[i].Name)
{
case "email": //用户名文本框 的 name
doc.All[i].InnerText = "username";
break;
case "password": //密码文本框 的 name
doc.All[i].InnerText = "password";
break;
}
}
//按钮框 的 元素名,提交按钮是用BUTTON实现的.中间内容是登 陆
if (doc.All[i].TagName.ToUpper().Equals("BUTTON"))
{
if (doc.All[i].InnerText == "登 录")
{
ClickBtn = doc.All[i];
}
}
}
ClickBtn.InvokeMember("Click"); //执行按扭操作
int interval = 2000; //2 秒
//执行登陆后的下载操作,以178的DKP登陆后下载界面为例
wbtest.Navigate("http://dkp.178.com/action=download&option=log&guild_id=50519&setting=midkp");
有什么办法实现不跳框直接保存在想要的目录下.或者用WebClient登陆?
这个具体没操作过,Mark!