用网络嗅探器查的发送的一个数据包及相关的内容如下: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-silverlight, */*
Referer: http://148.36.20.220:86/
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: 148.36.20.220:86
Content-Length: 272
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: ASPSESSIONIDQCQQCACA=BIAABJFDKFLIMKHEECPCAPDP
__LASTFOCUS=&__VIEWSTATE=%2FwEPDwUKMTU2MzQ1NzIyMGRkrPaC46Wfk8%2FFoaAyxiiIQBIj5tU%3D&Button1=%E8%AF%B7%E7%99%BB%E5%BD%95&TextBox2=888888&TextBox1=chenlin3&__EVENTTARGET=&__EVENTARGUMENT=&__EVENTVALIDATION=%2FwEWBAK4uZf2BwKM54rGBgLs0fbZDALs0bLrBoZyY2mBsZAcAyCoHpIrpaOT2D%2FlWL?
红色的部分是发送的用户名和密码的信息,前面的我怕有用也给发出来,请问一下,发送红字这一部分怎么用GET或POST?

解决方案 »

  1.   

    红色的不也是一些键值对么,post的内容就是这些键值对不就可以了
      

  2.   

        Dim xHttp As New MSXML2.XMLHTTP
        Dim strPara As String
        strPara = "http://148.36.20.220:86/" & Your service name & _
            "__LASTFOCUS=&__VIEWSTATE=%2FwEPDwUKMTU2MzQ1NzIyMGRkrPaC46Wfk8%2FFoaAyxiiIQBIj5tU%3D&Button1=%E8%AF%B7%E7%99%BB%E5%BD%95&TextBox2=888888&TextBox1=chenlin3&__EVENTTARGET=&__EVENTARGUMENT=&__EVENTVALIDATION=%2FwEWBAK4uZf2BwKM54rGBgLs0fbZDALs0bLrBoZyY2mBsZAcAyCoHpIrpaOT2D%2FlWL?"    xHttp.Open "post", strPara, False
        xHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
        xHttp.send Para
        DoEvents
        If xHttp.Status = 200 Then
      

  3.   

    这里的Your service name是指什么,我应该怎么变?
    还有需要引用些什么部件吗?
      

  4.   

    引用 :
    Microsoft XML, V3.0
    或者Microsoft XML, V5.0
    或者Microsoft XML, V6.0
      

  5.   

        Dim strPara As String,Para As String
        strPara = "http://148.36.20.220:86/" & 服务名及方法名称 '比如:strPara = "http://192.168.0.1:8888/WebServiceTemp/Service1.asmx/getUsername"
        Para="__LASTFOCUS=&__VIEWSTATE=%2FwEPDwUKMTU2MzQ1NzIyMGRkrPaC46Wfk8%2FFoaAyxiiIQBIj5tU%3D&Button1=%E8%AF%B7%E7%99%BB%E5%BD%95&TextBox2=888888&TextBox1=chenlin3&__EVENTTARGET=&__EVENTARGUMENT=&__EVENTVALIDATION=%2FwEWBAK4uZf2BwKM54rGBgLs0fbZDALs0bLrBoZyY2mBsZAcAyCoHpIrpaOT2D%2FlWL?"    
        xHttp.Open "post", strPara, False
        xHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
        xHttp.send Para
      

  6.   

    弄不到服务器名,我想换个思路,用INET如何,就是听说INET的POST的数据有长度限制,那位大虾给解签下哦,要不换个别的POST的方法也行啊
      

  7.   

    服务器http://148.36.20.220:86/
    端口86,服务名称login.aspx,发送的Cookie: ASPSESSIONIDQCQQCACA=BIAABJFDKFLIMKHEECPCAPDP
    。不是你的服务器,你可以在对方的网站慢慢浏览,慢慢看服务名称,慢慢嗅探
    你的需求是不用ie之类的浏览器发送数据给服务器,而用你自己写的程序。服务器上的数据还是服务器上的数据。
    你可以用winsock,也可以用inet,都是模拟http的post