7,763
社区成员
发帖
与我相关
我的任务
分享
'//我个人觉得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