使用Excel VBA代码发送POST并检索数据

时间:2017-07-24 15:00:38

标签: excel vba post

什么VBA代码允许我发送POST请求(在asp搜索框中),然后在<span id="xxx"></span>标签之间检索数据? (在结果页面中)

我有以下代码模拟页面中的搜索请求:

 Dim Site As Object
 Set Site = CreateObject("InternetExplorer.application")
 Dim QNUMBER As String
 Dim URL As String

 URL = "apps/inventory/Default.aspx" 'local website
 QNUMBER = textBox_Scan.Text
 Site.navigate URL
 While Site.busy
 Wend
 Dim oHTMLDoc As Object
 Set oHTMLDoc = Site.document

 oHTMLDoc.getElementById("input_search").Value = QNUMBER
 oHTMLDoc.getElementById("btn_search").Click

它没有感觉&#34;清洁&#34;这样做,我觉得发送POST请求会更合适。

感谢。

[编辑]

这是表格代码

 <form name="aspnetForm" method="post" action="Default.aspx" id="aspnetForm">

输入文字ID

id="input_search" 

提交按钮代码

id="btn_search"

我希望从<span id="warranty">36 month</span><span id="budget">500$</span>获取数据

1 个答案:

答案 0 :(得分:5)

Sub macroPOST()
    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    URL = "[Your URL]"
    objHTTP.Open "POST", URL, False
    objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    objHTTP.Send ("id=dddaaa&pwd=1234[Your request parameters]")

    replyTXT = objHTTP.responseText

    If objHTTP.Status = "200" Then 'success
        MsgBox replyTXT
    Else
        'Do something
    End If
End Sub

它适用于我的Excel,感谢您仔细阅读。

相关问题