我原本不想直接要代碼的,但是發送post的東西對我來有些難。想大神幫我做一個。時間很緊急所以才伸手要的。有些慚愧。



這是我提取的post訊息。我最后點擊的按鈕的名稱是 加1元
如果有大神愿意幫我寫個代碼。能否在代碼中重要的地方加寫注釋,我還是想學習的。
uj5u.com熱心網友回復:
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的話中文就不能直接用了,要轉碼的
uj5u.com熱心網友回復:
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/116735.html
標籤:VB基礎類
上一篇:visual basic 的困擾
