我原本不想直接要代码的,但是发送post的东西对我来有些难。想大神帮我做一个。时间很紧急所以才伸手要的。有些惭愧。这是我提取的post消息。我最后点击的按钮的名称是 加1元
如果有大神愿意帮我写个代码。能否在代码中重要的地方加写注释,我还是想学习的。

解决方案 »

  1.   


    Public Function GetPage(ByVal URL As String, Optional ByVal Data As String = "") As String
        Dim XML As Object
        Set XML = CreateObject("WinHttp.WinHttpRequest.5.1")
        XML.Option(6) = False
        XML.Option(4) = 13056
        If Len(Data) = 0 Then
            XML.Open "GET", URL
            XML.Send
        Else
            XML.Open "POST", URL
            XML.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
            XML.SetRequestHeader "Content-Length", LenB(StrConv(Data, vbFromUnicode))
            XML.Send Data
        End If
        GetPage = XML.ResponseText
        Set XML = Nothing
    End Function'调用示例
    debug.print GetPage("http://www.wlmqtljzbw.com/ztb/TB_send.aspx","_EVENTVALIDATION=/asldjflsjdlfjljfsd&_VIEWSTATE=/saldlfjj&bt_BS1=加1元")'如果是utf8的话中文就不能直接用了,要转码的
      

  2.   

    Function WskPost() As Boolean
    Dim i As Long
    Dim PostSu As Boolean
    PostSu = False
    i = 0
    StrCommand = "" StrCommand = "POST /noticeCreate.jsp HTTP/1.1" + vbCrLf
        StrCommand = StrCommand + "Accept: */*" + vbCrLf
        StrCommand = StrCommand + "Accept-Language: zh-cn" + vbCrLf
        StrCommand = StrCommand + "Referer: http://119.185.1.182:8888/camion.html" + vbCrLf
        StrCommand = StrCommand + "x-requested-with: XMLHttpRequest" + vbCrLf
        StrCommand = StrCommand + "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" + vbCrLf
        StrCommand = StrCommand + "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; AskTbPTV2/5.9.1.14019; 360SE)" + vbCrLf
        StrCommand = StrCommand + "Host: 119.185.1.182:8888" + vbCrLf
        StrCommand = StrCommand + "Content-Length: " & Str(Len(SendMsg)) + vbCrLf
        StrCommand = StrCommand + "Connection: Keep-Alive" + vbCrLf
        StrCommand = StrCommand + "Cache-Control: no-cache" + vbCrLf
        'strCommand = strCommand + "Accept-Language: zh-CN, zh, *" + vbCrLf
        StrCommand = StrCommand + "Accept-Encoding: gzip, deflate" + vbCrLf
        StrCommand = StrCommand + vbCrLf
         StrCommand = StrCommand + SendMsg + vbCrLf
    If wsk1.State <> sckClosed Then wsk1.Close
    wsk1.RemoteHost = Text1.Text
    wsk1.RemotePort = Text2.Text
    wsk1.Connect
    Debug.Print StrCommand
    Do Until i >= 1000 And wsk1.State = sckOpen
    'MsgBox wsk1.State
    If wsk1.State = 9 Then
    'stat "错误", ""
    PostSu = False
    Exit Do
    End If
    If wsk1.State = sckConnected Then
    wsk1.SendData StrCommand
    PostSu = True
    Exit Do
    End If
    i = i + 1
    DoEvents
    Loop
    WskPost = PostSu
    End Function