不知道这篇博文能不能发表出去,用第三方的软件登陆CSDN会不会被和谐。
好吧,这是一款本地端登陆CSDN博客的小软件。
软件有两个窗体,一个是登陆窗体,一个是浏览器窗体,使用了webbrowser组件。
首先,打开软件:
在输入框中输入CSDN的用户名和密码,点击登陆将进行自动登陆。
或许很多人会有疑问,比如这是一个盗号的软件啦等等,其实,这是利用了vb自动填充表格的方法:
打开登陆网页,查看网页源码:
黄色部分的地方就是我们需要填充字符串的地方:
Private Sub Command1_Click()
Dim vDoc, vTag
Dim i As Integer
Set vDoc = Form2.WebBrowser1.Document
For i = 0 To vDoc.All.length - 1 '检测所有标签
If UCase(vDoc.All(i).tagName) = "INPUT" Then '找到input标签
Set vTag = vDoc.All(i)
If vTag.Type = "text" Then '看看是不是我们需要的
If vTag.Name = "username" Then vTag.Value = Text1.Text '这里是要搜索的内容
End If
End If
Next i
For i = 0 To vDoc.All.length - 1 '检测所有标签
If UCase(vDoc.All(i).tagName) = "INPUT" Then '找到input标签
Set vTag = vDoc.All(i)
If vTag.Type = "password" Then vTag.Value = Text2.Text '看看是不是我们需要的
If vTag.Type = "checkbox" Then vTag.Value = "false"
vTag.Click '点击提交了,一切都OK了
If Check1.Value = 1 Then
Open "D:\MayuSoft\CSDNsignIN\user.ini
" For Output As #1
Print #1, Text1.Text
Print #1, Text2.Text
Close #1
End If
将会在D:\MayuSoft\CSDNsignIN\目录下生成user.ini文件用来保存密码。
!所有的信息都会保存在本地磁盘,不会导致密码泄漏的问题。
窗体2是简易的浏览器,只提供了前进后退的按钮,功能还是少。
想着可以跳转到本地默认浏览器中打开,由于Cookie和API不熟悉还是无法实现以上的方法。
登陆成功后,我们可以进行一切在浏览器中能做的事情,写博客,发博文等等,毕竟,窗体2本身就是一个浏览器,webbrowser是由IE提供内核支持的,如果论HTML5,还是普普通通的登陆吧。
Form1:
Option Explicit
Public s As String
Public a As String
Public title As String
Private Sub Command1_Click()
Dim vDoc, vTag
Dim i As Integer
Set vDoc = Form2.WebBrowser1.Document
For i = 0 To vDoc.All.length - 1 '检测所有标签
If UCase(vDoc.All(i).tagName) = "INPUT" Then '找到input标签
Set vTag = vDoc.All(i)
If vTag.Type = "text" Then '看看是不是我们需要的
If vTag.Name = "username" Then vTag.Value = Text1.Text '这里是要搜索的内容
End If
End If
Next i
For i = 0 To vDoc.All.length - 1 '检测所有标签
If UCase(vDoc.All(i).tagName) = "INPUT" Then '找到input标签
Set vTag = vDoc.All(i)
If vTag.Type = "password" Then vTag.Value = Text2.Text '看看是不是我们需要的
If vTag.Type = "checkbox" Then vTag.Value = "false"
vTag.Click '点击提交了,一切都OK了
End If
Next i
If Check1.Value = 1 Then
Open "D:\MayuSoft\CSDNsignIN\user.ini" For Output As #1
Print #1, Text1.Text
Print #1, Text2.Text
Close #1
End If
'Form2.Caption = Text1.Text
Form2.Show
Unload Form1
End Sub
Private Sub Form_Load()
If Dir("D:\MayuSoft", vbDirectory) = "" Then '判断文件夹是否存在
MkDir ("D:\MayuSoft") '创建文件夹
If Dir("D:\MayuSoft\CSDNsignIN", vbDirectory) = "" Then '判断文件夹是否存在
MkDir ("D:\MayuSoft\CSDNsignIN")
End If
End If
Form2.WebBrowser1.Navigate "http://passport.csdn.net/account/login"
Open "D:\MayuSoft\CSDNsignIN\user.ini" For Append As #1 '如果没有则新建
Close #1
Open "D:\MayuSoft\CSDNsignIN\user.ini" For Input As #2
If LOF(2) = 0 Then
a = ""
s = ""
Else
Do
Input #2, a
Text1.Text = a & vbCrLf
Input #2, s
Text2.Text = s & vbCrLf
Loop Until EOF(2)
End If
Close #2
End Sub
Private Sub Form_Resize()
Form2.WebBrowser1.Width = Form1.Width - 500
Form2.WebBrowser1.Height = Form1.Height - 1200
End Sub
Form2:
Option Explicit
Dim WithEvents Web_V1 As SHDocVwCtl.WebBrowser_V1
Private Sub Form_Load()
WebBrowser1.Silent = True
Set Web_V1 = WebBrowser1.Object '初始化Web_V1对象
WebBrowser1.Navigate ("http://community.csdn.net/")
Command1.Enabled = False '前进按钮
Command2.Enabled = False '后退按钮
End Sub
Private Sub Form_Resize()
WebBrowser1.Top = 500
WebBrowser1.Left = 50
WebBrowser1.Height = Me.Height - 400
WebBrowser1.Width = Me.Width - 200
End Sub
Private Sub Web_V1_NewWindow(ByVal URL As String, ByVal Flags As Long, ByVal TargetFrameName As String, PostData As Variant, ByVal Headers As String, Processed As Boolean)
On Error Resume Next
Processed = True
WebBrowser1.Navigate URL
End Sub
Private Sub WebBrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)
Text1.Text = WebBrowser1.LocationURL
On Error Resume Next
If (Command = CSC_NAVIGATEBACK) Then
Command2.Enabled = Enable
End If
If (Command = CSC_NAVIGATEFORWARD) Then
Command1.Enabled = Enable
End If
End Sub
Private Sub Command2_Click()
On Error Resume Next
WebBrowser1.GoBack '后退
End Sub
Private Sub Command1_Click()
On Error Resume Next
WebBrowser1.GoForward '前进
End Sub
下载
@ Mayuko