我想用程序去打开一个有用户名和密码网站中的网页,但我每次得到网站的首页输入用户名
和密码才能进入,我想直接进入(用户名和密码该如何传递?)

解决方案 »

  1.   

    一般网页输入的用户名和密码是通过Post数据到Server上的,所以,在你的Navigate2方法中把对应的PostData数据设置上就可以了。具体PostData如何写,要看对应的登录网页设置的用户名、密码控件的名称。例如,一般叫username,password则
    postdata = strconv("username=shwen&password=****", vbFromUnicode)
      

  2.   

    TechnoFantasy写过
    怎么编程把用户名,密码提交到网页上的登录页?
    首先在程序中加入Webbrowser控件并加入引用 Microsoft HTML Object Library。
    假设你的HTML页面表单代码如下:
    <form method="POST" action="http://chen/dll/chat/chatmain.exe/RegUser">
      <p>请填写下面表单注册(*项为必添项)</p>
      <p>*姓名<input type="text" name="Name" size="20"></p>
      <p>*昵称<input type="text" name="NickName" size="20"></p>
      <p>电子邮件<input type="text" name="EMail" size="20"></p>
      <p>*密码<input type="text" name="Password" size="20"></p>
      <p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
    </form>
    注意其中元素的type、Name、value属性。然后VB中的代码如下:
    Private Sub Command1_Click()
        WebBrowser1.Navigate "http://chen/chat/newuser.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" Then
                    List1.AddItem vTag.Name
                    Select Case vTag.Name
                        Case "Name"
                            vTag.Value = "IMGod"
                        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
    点击Command1就可以自动填表并提交了。
      

  3.   

    使用inet控件和webbrower控件都可以
    webbrower控件简单些 online(龙卷风(白学了,重新充电中)) 的提交太麻烦
    你可以用 shwen(shwen) 的说的http 协议中的post方法提交用户名和密码
      

  4.   

    用winsock控件进行http协议
    我试过OK