请问如何构造和发送一个http包,我想每隔5分钟发送次http的post数据
请大家指点谢谢

解决方案 »

  1.   

    什么叫构造?发送就用winsock的send去做好了时间用trimer控制
      

  2.   

    用WINSOCK下载BAIDU首页
        strCommand = "GET / HTTP/1.1" + vbCrLf
        strCommand = strCommand + "Accept: */*" + vbCrLf
        strCommand = strCommand + "Accept: text/html" + vbCrLf
        strCommand = strCommand + "Accept-Language: zh-cn" + vbCrLf
        strCommand = strCommand + "UA-CPU: x86" + vbCrLf
        strCommand = strCommand + "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" + vbCrLf
        strCommand = strCommand + "Host: www.baidu.com"  + vbCrLf
        strCommand = strCommand + "Connection: Keep-Alive" + vbCrLf
        strCommand = strCommand + vbCrLf
        Winsock1.SendData strCommand
      

  3.   

    哈哈,我前几日也写了baidu,帖上来好了有些HTTP头可以省略的,如果一字不漏的抄,反而会出错的
    Private Sub Command1_Click()
        With Winsock1
            .Close
            .RemoteHost = "www.baidu.com"
            .RemotePort = 80
            .Connect
        End With
    End SubPrivate Sub Winsock1_Connect()    Dim strHttp As String
        strHttp = "GET / HTTP/1.1" & vbCrLf
        strHttp = strHttp & "Accept-Language: zh-cn" & vbCrLf
        strHttp = strHttp & "Host: www.baidu.com" & vbCrLf
        strHttp = strHttp & "Connection: Keep-Alive" & vbCrLf    Winsock1.SendData strHttp & vbCrLfEnd Sub
      

  4.   

    一个POST的数据包POST /Login.aspx HTTP/1.1..Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*..Referer: http://xxxxx/Login.aspx..Accept-Language: zh-cn..Content-Type: application/x-www-form-urlencoded..UA-CPU: x86..Accept-Encoding: gzip, deflate..User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)..Host: dun.63mv.cn..Content-Length: 288..Connection: Keep-Alive..Cache-Control: no-cache..Cookie: ASP.NET_SessionId=ihcotorqjkm0aa3pv0fvdt55....__LASTFOCUS=&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMTg2MjQ1Njg5NGRki3%2BtrGl60gQeHRSqh%2B6IzNijqMQ%3D&txtName=xxxxx&txtPwd=xxxxx&txtCode=4n6z2&btnLogin=%E7%99%BB%E9%99%86&__EVENTVALIDATION=%2FwEWBQL09ZXADgLEhISFCwKd%2B7qdDgLChPzDDQKC3IeGDOBx%2BZ6lk95I2v1Fx16bFWBS7b51域名和重要数据用XXXXX替换掉了 ..表示vbcrlf
      

  5.   

    莫伊美女这么晚了还没睡啊 也是个夜猫子想到个问题 得到的数据如何写到WEBBROWSER上去,使webbrowser能完整的现实网页的内容当然,单纯的HTML代码是能够正确显示的。现在的网页都比较复杂,都连接有CSS,JS,IMG等,这些网页的完整显示(最后的效果就像IE打开这个页面一样)又该如何弄呢
      

  6.   

    很多人没睡呢,俺跟正常人有时差.要HTTP头用工具,比如watchhttp去截就可以了.我个人觉得webbrowers和http头和源代码没有什么关联使用方向是不太一样的,winsock一般结合http用webbrowers这个跟IE近,一般使用在dom上是最方便,反而读源代码是最不方便的.xmlhttp读源代码最方便,但是静态,对ajax的似乎没什么作用.我个人的一点浅薄理解而已
      

  7.   

    莫伊美女,貌似是webbrowser而非webbrowers,嘿嘿~~~是这帖让我想起了我那个问题:用SOCKS5代理浏览网页。所以闪出了这么个念头MAXTHON是怎么实现SOCKS5代理浏览网页的呢?
    郁闷中.....
      

  8.   

    那不奇怪,那又不代表人家用了WebBrowser啊WebBrowser仅仅是MS提供的一个控件而已啊winsock就可以完成sock代理对那个问题没什么兴趣,觉得是自找麻烦.
      

  9.   

    看来是过分强调用WEBBROWSER了其实只要编程实现SOCKS5代理浏览网页也算是解决问题
      

  10.   

    比如我想发送的信息是http://xxx.xxx.xxx.xxx/save.asp?&sele=3
    那该怎么样构造哪?谢谢大家
      

  11.   

    楼主终究还得解决用webbrowser显示所获取网页代码时处理CSS,JS,IMG等这些路径的问题,如果你其他问题都解决了,我可以帮你解决这一个。
      

  12.   

    上面已经讲了,HTTP头要工具去取
    至于方法,上面代码都写了,难道自己都不会写吗
      

  13.   

    建议楼主自己用Visual Sniffer或者其他软件抓一下
      

  14.   

    没有一个说对的!
    &sele=3 是你要发送的数据!
    其实你用webbrowser控件就可以,navigate url,flags,frames,postdata,headers
    就可以了!
    url:“http://xxx.xxx.xxx.xxx/save.asp”
    flags : 一般不用设,默认 0
    frames:也不用 ,0
    headers: "Content-Type:   application/x-www-form-urlencoded"
    postdata: "&sale=3"
    这样就可以了!!!
      

  15.   

    kao !看了半天你要发送cookie啊!
    在第一次发送的数据里填上你要发送的cookie数据试试!!
    Cookie: ASP.NET_SessionId=ihcotorqjkm0aa3pv0fvdt55....__LASTFOCUS=&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMTg2MjQ1Njg5NGRki3%2BtrGl60gQeHRSqh%2B6IzNijqMQ%3D&txtName=xxxxx&txtPwd=xxxxx&txtCode=4n6z2&btnLogin=%E7%99%BB%E9%99%86&__EVENTVALIDATION=%2FwEWBQL09ZXADgLEhISFCwKd%2B7qdDgLChPzDDQKC3IeGDOBx%2BZ6lk95I2v1Fx16bFWBS7b51
    其实最重要的数据是:&txtName=xxxxx&txtPwd=xxxxx&txtCode=4n6z2&btnLogin=%E7%99%BB%E9%99%86&__EVENTVALIDATION=%2FwEWBQL09ZXADgLEhISFCwKd%2B7qdDgLChPzDDQKC3IeGDOBx%2BZ6lk95I2v1Fx16bFWBS7b51
    把这个post了试试!