Winform登录到Web得问题?

CXSilence 2010-04-09 01:44:27
如题:比方我现在要实现的功能是winform直接登录到到csdn,我winform登录窗体用csdn账号登陆,登陆后打开csdn首页(csdn的web页面嵌入在winform中的)后面访问web时就不需要在二次登陆了,可以到我的账号可以到得csdn的web上面的任何地方……
...全文
292 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
CXSilence 2012-01-13
  • 打赏
  • 举报
回复
一年多前的事情了,source Code没保留,,参考上面的帖子可以解决的,你研究下吧,抱歉……
x363961461 2011-07-13
  • 打赏
  • 举报
回复
31楼的看不见,楼主既然解决了,可以发个给我可以吗,也遇到这个问题了

363961461@qq.com
谢谢了
CXSilence 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 31 楼 xu56180825 的回复:]
C# code
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Navigate("http://passport.csdn.net/UserLogin.aspx");
}

private void webBrowser1_……
[/Quote]

感谢了啊……
xu56180825 2010-04-09
  • 打赏
  • 举报
回复
   private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Navigate("http://passport.csdn.net/UserLogin.aspx");
}

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (b)
{
HtmlDocument doc = webBrowser1.Document;
HtmlElement em = null;
foreach (HtmlElement he in doc.All)
{
if (he.Name == "ctl00$CPH_Content$tb_LoginNameOrLoginEmail")
{
he.SetAttribute("value", "xu56180825");
}
if (he.Name == "ctl00$CPH_Content$tb_Password")
{
he.SetAttribute("value", "12345678");
}
if (he.Name == "submit")
{
em = he;
}
}
//em.InvokeMember("click");
b = false;

}

這個我已經測試過..可以的
CXSilence 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 xu56180825 的回复:]
引用 24 楼 cxsilence 的回复:
引用 22 楼 knowkjava 的回复:
webBrowser控件

大侠估计没看上面的回复吧,要么来点儿实际滴啥,不过有你的关注也很感激了,哈哈,……

沒找到可能是你IE地址選錯了,用我給你的地址就能找到
[/Quote]

嗯,我在细心看看……
rabbit5 2010-04-09
  • 打赏
  • 举报
回复
先用www.baidu.com做测试吧,页面简单比较好处理

找到Textbox 和 submit按钮,用webBrowser添加value后触发事件,就可以了
CXSilence 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 gsq_0912 的回复:]
webBrowser控件大家都知道,但做起來的確有點麻煩
[/Quote]

呵呵,有同感……
xu56180825 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 cxsilence 的回复:]
引用 22 楼 knowkjava 的回复:
webBrowser控件

大侠估计没看上面的回复吧,要么来点儿实际滴啥,不过有你的关注也很感激了,哈哈,……
[/Quote]
沒找到可能是你IE地址選錯了,用我給你的地址就能找到
gsq_0912 2010-04-09
  • 打赏
  • 举报
回复
webBrowser控件大家都知道,但做起來的確有點麻煩
电脑帮帮手 2010-04-09
  • 打赏
  • 举报
回复
mark 帮你顶上
CXSilence 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 knowkjava 的回复:]
webBrowser控件
[/Quote]
大侠估计没看上面的回复吧,要么来点儿实际滴啥,不过有你的关注也很感激了,哈哈,……
CXSilence 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 xu56180825 的回复:]
沒做過,只是剛進網站查看的HTML源代碼,你用webBrowser打開地址http://passport.csdn.net/UserLogin.aspx然後遍歷循環查找名稱ctl00$CPH_Content$tb_LoginNameOrLoginEmail把他的VALUE設置為你的帳號
[/Quote]

嗯,是的我是这样做的,不过我的是没有校验码的,我找的源码遍历查找Htmlelement的时候没有找到账号和密码的元素,他只找到matel里面的name,不过还是非常感谢了,我在研究些,呵呵……
KnowKjava 2010-04-09
  • 打赏
  • 举报
回复
webBrowser控件
shang123guan 2010-04-09
  • 打赏
  • 举报
回复
。。。。。。。。
usersname 2010-04-09
  • 打赏
  • 举报
回复
这个可以做到,你搜索一下“CSDN C# 灌水机 下载”
rabbit5 2010-04-09
  • 打赏
  • 举报
回复
webBrowser可以实现这种功能,不过对有校验码的网站做这种操作会比较麻烦,解析别人的校验码好像不太合适,自己的就无所谓了
xu56180825 2010-04-09
  • 打赏
  • 举报
回复
沒做過,只是剛進網站查看的HTML源代碼,你用webBrowser打開地址http://passport.csdn.net/UserLogin.aspx然後遍歷循環查找名稱ctl00$CPH_Content$tb_LoginNameOrLoginEmail把他的VALUE設置為你的帳號
CXSilence 2010-04-09
  • 打赏
  • 举报
回复
上面的代码是你曾经做过的demo嘛,如果方便的话可否加下我QQ(547106320),发我学习一下,先谢了……
CXSilence 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 xu56180825 的回复:]
<TD vAlign=top width="30%" align=right>登录名或邮箱: </TD>
<TD align=left><INPUT style="WIDTH: 12em"
id=ctl00_CPH_Content_tb_LoginNameOrLoginEmail class=unnamed1
title=请输入用户名或者邮箱 maxLength=50
……
[/Quote]

我汗,没明白你滴意思……
xu56180825 2010-04-09
  • 打赏
  • 举报
回复
<TD vAlign=top width="30%" align=right>登录名或邮箱: </TD>
<TD align=left><INPUT style="WIDTH: 12em"
id=ctl00_CPH_Content_tb_LoginNameOrLoginEmail class=unnamed1
title=请输入用户名或者邮箱 maxLength=50
name=ctl00$CPH_Content$tb_LoginNameOrLoginEmail> </TD></TR>
<TR>
<TD vAlign=top align=right>密    码: </TD>
<TD align=left><INPUT style="WIDTH: 12em" id=ctl00_CPH_Content_tb_Password
class=unnamed1 value="" maxLength=50 type=password
name=ctl00$CPH_Content$tb_Password><SPAN
style="VISIBILITY: hidden; COLOR: red"
id=ctl00_CPH_Content_regval_PassWord
controltovalidate="ctl00_CPH_Content_tb_Password" errormessage=" 密码必填"
initialvalue isvalid="true"> 密码必填</SPAN> </TD></TR>
<TR>
<TD vAlign=top align=right>校验码: </TD>
<TD align=left><INPUT style="WIDTH: 56px" id=ctl00_CPH_Content_tb_ExPwd
class=unnamed1 maxLength=5 name=ctl00$CPH_Content$tb_ExPwd>  
<SPAN style="VISIBILITY: hidden; COLOR: red"
id=ctl00_CPH_Content_regval_ExPwd
controltovalidate="ctl00_CPH_Content_tb_ExPwd" errormessage="校验码必须填写!"
initialvalue isvalid="true">校验码必须填写!</SPAN> <INPUT
value=005a3c43-3d44-4844-a550-fe4117e31806 type=hidden name=ClientKey>
</TD></TR>
IE的地址是 http://passport.csdn.net/UserLogin.aspx
加载更多回复(14)

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧