在开发中,要求实现一个『自动填写表单的功能』,以实现网站论坛或邮箱的自动登录。
比如我从经在 bbs.sdweb1.com 注册了一个用户,我想写一个程序,在下次访问的时候,通过程序直接转到 bbs.sdweb1.com 的登录页面,并在相应页面的 Text 控件中填写好我事先设置的 用户名和密码,并模拟单击『登录』按钮,这个我就不用每次都输入用户名和密码了  ???

解决方案 »

  1.   

    兄弟,自动登录不是这么做的。自动登录需要在cookie里面记录用户名,不记录密码。
    在服务器的请求开始的时候根据传来的cookie项判断是否自动登录。
      

  2.   

    假如客户端禁止使用cookie那么请使用Session
      

  3.   

    请问老主。这是是不是你们BOSS提出的建议哦。强烈反对
      

  4.   

    为什么不可以?楼主的意思是要模拟POST请求的过程。具体实现的过程不太了解,绝对可以实现
      

  5.   

    呵呵,大家的讨论是很激烈,但是没有我想要的答案,认为不可能的兄弟们有没有用过 RoboForm 或者 网页自动填表器,我想要实现的功能也就是这两款软件已经实现的功能。如果有兴趣可以下载下来试用一下。别人能实现的东西,肯定是能实现的。只是我的道行还不够。特别声明,登录的页面不是我自己的页面期待精彩解答...
      

  6.   

    To tigerwen01(小虎)(编程艺术化)我的记忆中,Session 也是依赖于 Cookies 进行存储数据的,如果客户端禁用 Cookies ,Session 也一样时效。这个于本主题无关,不过还是想提醒一下  ^_^
      

  7.   

    原来是这样啊,我以前用vb做过,很简单。
    主要是往form里面丢一个webbrowser控件,然后用document.form什么的这些属性,用页面里面的控件名字来作为变量赋值,然后提交form。
    你到VB区找以前的帖子吧,我就是在那找到的资料。只能说你的帖子发错版了,所以大家才会这样回答你,如果你发到VB.NET区可能就会好些。
      

  8.   

    Private Sub Form_Load()
    WebBrowser1.Navigate2 App.Path & "\test.htm"
    End SubPrivate Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)    Dim vDoc, vTag
        Dim i As Integer
          
        Set vDoc = WebBrowser1.Document
        List1.Clear
        For i = 0 To vDoc.All.length - 1
            If UCase(vDoc.All(i).tagName) = "INPUT" Then
                Set vTag = vDoc.All(i)
                If vTag.Type = "text" Or vTag.Type = "password" Or vTag.Type = "radio" Then
                    List1.AddItem vTag.Name
                    Select Case vTag.Name
                        Case "Name"
                            vTag.Value = "IMGod"
                        Case "R2"
                            vTag.Checked = True
                        Case "NickName"
                            vTag.Value = "IMGod"
                        Case "Password"
                            vTag.Value = "IMGodpass"
                        Case "EMail"
                            vTag.Value = "[email protected]"
                    End Select
                ElseIf vTag.Type = "submit" Then
                    'vTag.Click
                End If
            End If
        Next i
    End Sub'test.htm文件
    <HTML>
    <HEAD>
    <TITLE>测试页</TITLE>
    </HEAD>
    <BODY>
    <form method="POST" action="result.asp">
      <p>请填写下面表单注册(*项为必添项)</p>
      <p>*姓名<input type="text" name="Name" size="20"></p>
      <p>*男<input type="radio" value="V1" name="R1"></p>
      <p>*女<input type="radio" value="V1" name="R2"></p>
      <p>*昵称<input type="text" name="NickName" size="20"></p>
      <p>电子邮件<input type="text" name="EMail" size="20"></p>
      <p>*密码<input type="password" name="Password" size="20"></p>
      <p><input type="submit" value="提交" name="B1">
      <input type="reset" value="全部重写" name="B2"></p>
    </form>
    </BODY>
    </HTML>
      

  9.   

    谢谢 qiangsheng(做人很厚道) !!!To crossrowman(godi) :能不能说的详细点,我急需用 !! 谢谢!