怎样用VB拦截浏览器浏览一个网页取回来的HTML数据呢?
也就是用WINSOCK拦截一个网站的数据

解决方案 »

  1.   

    用inet控件最简单
    dim a
    a=inet.openurl('地址')
    text1.text=a
      

  2.   

    写浏览器插件吧
    去搜索BHO,例子大把的
      

  3.   

    Private Sub Command1_Click()
        Me.Winsock1.RemoteHost = "www.163.com"
        Me.Winsock1.RemotePort = 80
        Me.Winsock1.Connect
        
    End SubPrivate Sub Winsock1_Close()
        MsgBox "close"
        Me.Winsock1.Close
    End SubPrivate Sub Winsock1_Connect()
    '    MsgBox "ConnectOK!"
        Dim Str As String
        Str = "GET /index.jsp HTTP/1.1" & vbCrLf
        Str = Str & "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, */*" & vbCrLf
        Str = Str & "Accept -Language: zh -cn" & vbCrLf
        Str = Str & "Accept -Encoding: gzip , deflate" & vbCrLf
        Str = Str & "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)" & vbCrLf
        Str = Str & "Host: www.hardwaretoday.com" & vbCrLf
        Str = Str & "Connection: Keep -Alive" & vbCrLf & vbCrLf & vbCrLf
        Me.Winsock1.SendData Str
        DoEvents
    End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
        MsgBox "aaa"
        Dim Str As String
        Me.Winsock1.GetData Str
        Text1.Text = Str
    End Sub
      

  4.   

    去看看外挂编程啊 
    封包,拦截Winsock
    很多办法 
    另外推荐看看Windows网络编程的书
    下面是一个外挂编程文章当中截取的一段拦截Socket包   这个技术难度要比原来的高很多。   首先我们要替换WinSock.DLL或者WinSock32.DLL,我们写的替换函数要和原来的函数一致才行,就是说它的函数输出什么样的,我们也要输出什么样子的函数,而且参数,参数顺序都要一样才行,然后在我们的函数里面调用真正的WinSock32.DLL里面的函数就可以了。   首先:我们可以替换动态库到系统路径。   其次:我们应用程序启动的时候可以加载原有的动态库,用这个函数LoadLibary然后定位函数入口用GetProcAddress函数获得每个真正Socket函数的入口地址。   当游戏进行的时候它会调用我们的动态库,然后从我们的动态库中处理完毕后才跳转到真正动态库的函数地址,这样我们就可以在里面处理自己的数据了,应该是一切数据。呵呵,兴奋吧,拦截了数据包我们还要分析之后才能进行正确的应答,不要以为这样工作就完成了,还早呢。等分析完毕以后我们还要仿真应答机制来和服务器通信,一个不小心就会被封号。   分析数据才是工作量的来源呢,游戏每次升级有可能加密方式会有所改变,因此我们写外挂的人都是亡命之徒啊,被人愚弄了还不知道。