如何用Winsock登陆网站然后提取页面的源码?要是html代码哦

解决方案 »

  1.   

    还要登陆网站还要网页代码?用WebBrowser吧。Private Sub Command1_Click()
        WebBrowser1.Navigate "http://www.csdn.net"
    End SubPrivate Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
        Debug.Print WebBrowser1.Document.body.innerhtml
    End Sub
      

  2.   

    无非发送一个http post包
    用sniffer拦截一下回话过程, 然后winsock模拟发送即可
      

  3.   

    个人不推荐使用WebBrowser,二楼的说法比较好,网上有很多这种例子
      

  4.   

    我写了下看看有什么问题,好象登陆还是不成功啊
    Option Explicit
    Dim strCommand As String
    Dim strWebPage As String
    Dim data As StringPrivate Sub Command1_Click()Winsock1.RemoteHost = "XX.XX.XX.XX" '返回或设置远程计算机,控件向它发送数据或从它那里接收数据。既可提供主机名,比如 "FTP://ftp.microsoft.com",也可提供点格式下的 IP 地址字符串,比如 "100.0.1.1"。
    Winsock1.RemotePort = 80 '返回或设置要连接的远程端口号
    Winsock1.Connect '返回与远程计算机的连接。
    End SubPrivate Sub Winsock1_Connect() '当一个 Connect 操作完成时发生。
    On Error Resume Next
    strWebPage = "http://www.XXX.com/"
    data = "userid=XXXX&passwort=XXXX&autologin=true&checkid=Login"
    strCommand = "post " + strWebPage + " HTTP/1.0" + vbCrLf
    strCommand = strCommand + vbCrLf      '记住一定要加上vbCrLf
    Debug.Print strCommand
    Winsock1.SendData strCommand  ''给远程计算机发送数据
    End Sub
    "userid=XXXX&passwort=XXXX&autologin=true&checkid=Login"是我的拦截数据对吗?
    高手帮我看看,谢谢
      

  5.   

    多了几行删了
    Option Explicit
    Dim strCommand As String
    Dim strWebPage As String
    Dim data As StringPrivate Sub Command1_Click()Winsock1.RemoteHost = "XX.XX.XX.XX"
    Winsock1.RemotePort = 80 '返回或设置要连接的远程端口号
    Winsock1.Connect '返回与远程计算机的连接。
    End SubPrivate Sub Winsock1_Connect() '当一个 Connect 操作完成时发生。
    On Error Resume Next
    strWebPage = "http://www.XXX.com/"
    data = "userid=XXXX&passwort=XXXX&autologin=true&checkid=Login"""
    strCommand = "post " + strWebPage + data + vbCrLf
    strCommand = strCommand + vbCrLf
    Debug.Print strCommand
    Winsock1.SendData strCommand  ''给远程计算机发送数据
    End Sub