使用WebBrowser1.Navigate 登录网站,如果判断用户名,密码是错误的??

tgc99 2008-03-04 10:05:37
比如:用IE打开这个页面,用这个用户名,密码,,是不能登录的.提示错误..

现在想使用控件WebBrowser1登录:
WebBrowser1.Navigate "http://blog.abcd.cn/batch.login.php?action=login", 0, , PostData, strHeaders

登录的用户名和密码在参数PostData里面..

运行Navigate后,,如果用户名,或者密码不正确,如何才能返回一个值,知道登录是失败的呢??
...全文
230 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
shuisjshuisj 2008-03-05
顶,不错,学习学习!!
回复
Alices 2008-03-05

'//我个人觉得WebBrowser不是很好用.如果真的要判断很不是很难。

Private Sub WebBrowser1_Navigated(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated

Dim sts = New IO.StreamReader(WebBrowser1.DocumentStream, System.Text.Encoding.GetEncoding("gb2312"))'OR UTF8
Dim ast = sts.ReadToEnd
If InStr(ast, "密码有误") > 0 Or InStr(ast, "输入的旧密码错误") Then
'//
End If

If InStr(ast, "验证码有误") > 0 Then
'//
End If

End Sub

'//如果是想做自己登陆还是用Net.HttpWebRequest和 Net.HttpWebResponse比较好,不用下载图片等。
'//PS:上面是我做QQ登陆页面时的代码,不过当时没搞清楚加密算法才用WebBrowser的。
回复
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim s As String
Dim ss As String
Dim i As Long
Dim j As Long
Winsock1.GetData s, vbString
Open App.Path & "\guanshui.txt" For Output As #1
Print #1, s
Close #1
Open App.Path & "\guanshui.txt" For Input As #1
Do
Line Input #1, ss
If InStr(1, ss, "ABCDEF") Then
i = InStr(1, ss, "=")
j = InStr(1, ss, ";")
ABCDEF = Mid(ss, i + 1, j - i - 1)
'MsgBox "ABCDEF=" & ABCDEF
End If
If InStr(1, ss, "QWERTOP") Then
i = InStr(1, ss, "=")
j = InStr(1, ss, ";")
QWERTOP = Mid(ss, i + 1, j - i - 1)
'MsgBox "QWERTOP=" & QWERTOP
End If
If InStr(1, ss, "daynum") Then
i = InStr(1, ss, "=")
j = InStr(1, ss, ";")
daynum = Mid(ss, i + 1, j - i - 1)
'MsgBox "daynum=" & daynum
End If
If InStr(1, ss, "ASPSESSION") Then
i = InStr(1, ss, " ")
j = InStr(1, ss, ";")
ASPSESSION = Mid(ss, i + 1, j - i - 1)
'MsgBox ASPSESSION
End If
Loop While Not EOF(1)
Close #1
cookie = "Cookie: "
cookie = cookie & "daynum=" & daynum & "; "
cookie = cookie & "ABCDEF=" & ABCDEF & "; "
cookie = cookie & "QWERTOP=" & QWERTOP & "; "
cookie = cookie & "userid=" & userid & "; "
cookie = cookie & ASPSESSION
'MsgBox cookie
Text3.Text = s
If InStr(1, s, "添加完成") Then
Form2.BackColor = vbGreen
End If
If InStr(1, s, "你回复太快了,慢点!!") Then
Dim t As Double
t = Timer
Do
DoEvents
Loop While Timer - t < 10
Command1_Click
End If
End Sub
回复
可以这样判断,以前俺写CSDN的灌水机的时候,每次post要发出去的数据之后,会get回来一个页面的内容,如果里面出现成功就回复成功,不过平时get回来的都是“您回复的太快了”。
回复
tgc99 2008-03-05
感谢楼上几位的关注..
回复
蒋晟 2008-03-05
你判断不了,只有服务器才可以判断,除非服务器将登陆结果以可以预料的格式返回客户端
回复
jinjazz 2008-03-05
判断登陆成功后者失败后的跳转地址或者页面内容
回复
相关推荐
基于java的企业人事管理系统设计--软件工程课程设计(含源码与论文设计).rar 1 引言 4 1.1 课程设计目标 4 1.2 编程工具(编程环境)介绍 4 1.3 实施时间及主要实施步骤 4 2 需求分析 5 3 系统总体设计 6 4 数据库设计 6 5 主要功能模块的设计与实现 10 5.1 功能模块1详细设计(综合查询员工信息)..........................................................10 5.1.1 详细设计.......................................................................................................10 5.1.2 算法流程........................................................................................................15 5.1.3 界面设计及测试结果.....................................................................................15 6 调试分析 15 7 用户手册 16 8 测试结果 17 8.1 员工信息的添加...................................................................................................17 8.2 员工信息的修改...................................................................................................17 8.3 员工信息的删除...................................................................................................18 8.4 员工信息的综合查询...........................................................................................18 8.5 员工信息按性别统计的结果................................................................................19 8.6 员工信息按状态统计的结果...............................................................................19 8.7 员工信息按职称统计的结果................................................................................20 9 结论 20 10 参考文献 20
发帖
VB基础类
创建于2007-09-28

7493

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2008-03-04 10:05
社区公告
暂无公告