我已经试过这里的方法,还是不行。请高手帮忙
http://news.dvbbs.net/infoview/Article_2776.html

解决方案 »

  1.   

    利用socket直接发送http请求然后接受服务器回应就可以了,从底层实现比较方便。
            Dim serverIP As IPAddress
            serverIP = Dns.Resolve("www.somesites.com").AddressList(0)
            Dim Port As String = "80"
            Dim serverhost As IPEndPoint = New IPEndPoint(serverIP, Int32.Parse(Port))
            Dim Socket1 As New System.Net.Sockets.Socket(Net.Sockets.AddressFamily.InterNetwork, Net.Sockets.SocketType.Stream, Net.Sockets.ProtocolType.Tcp)
            Socket1.Connect(serverhost)
            If Socket1.Connected = False Then
                Exit Sub
            End If
            Dim cmd As String
            cmd = "GET /viewbook.asp?id=5184 HTTP/1.1" + vbCrLf
            cmd = cmd + "Host: www.somesites.com" + vbCrLf
            cmd = cmd + "Accept: */*" + vbCrLf
            cmd = cmd + vbCrLf
            Socket1.Send(Encoding.ASCII.GetBytes(cmd))
            Dim buffer(1024) As Byte
            Dim byteCount As Int16 = Socket1.Receive(buffer, buffer.Length, 0)
            Dim path as String = "c:\1.htm"
            Dim Sw As New StreamWriter(path)
            Sw.Write(Encoding.Default.GetString(buffer, 0, byteCount))
            Do While byteCount > 0
                byteCount = Socket1.Receive(buffer, buffer.Length, 0)
                Sw.Write(Encoding.Default.GetString(buffer, 0, byteCount))
            Loop
            Sw.Close()修改代码里的“www.somesites.com”为你要获取的页面地址(共2处),此段代码会把页面下载并保存为c:\1.htm(可修改此路径),但不会下载页面里的图像,如果你需要的话,要自己家代码来解析图像连接并下载。另外,此代码对动态网页有效。
      

  2.   

    忘了说了,cmd = "GET /viewbook.asp?id=5184 HTTP/1.1" + vbCrLf 里的"/viewbook.asp?id=5184"要修改为你要访问的页面相对地址;cmd = cmd + "Host: www.somesites.com" + vbCrLf中的www.somesites.com要改为你要访问网站的域名。比如http://community.csdn.net/Expert/topic/3533/3533902.xml?temp=.4753687 ,那就要为:
     cmd = "GET /Expert/topic/3533/3533902.xml?temp=.4753687 HTTP/1.1" + vbCrLf
     cmd = cmd + "Host: community.csdn.net" + vbCrLf
      

  3.   

    请问 qzj(SoldierQ)对于需要登陆的网站在那里发送用户名和密码
      

  4.   

    发送用户名和密码其实是窗体的提交动作,有相应的HTTP协议指令,不过我没有仔细研究过那个。如果你觉得用socket对你的程序来说可行的话,可以研究一下HTTP 1.1标准。