2

以下是部分网页的 HTML。

"input name="ctl00$ctl00$AllContent$ContentMain$ucMktStatCtl$txtDate" type="text"
id="ctl00_ctl00_AllContent_ContentMain_ucMktStatCtl_txtDate" 
onkeypress="javascript:return fnTrapKD(event, document.getElementById('ctl00_ctl00_AllContent_ContentMain_ucMktStatCtl_butReport'))"
value="02/24/2006" class="hasDatepicker">

我尝试使用以下代码来访问数据。

Dim strPostData As String: strPostData  = "ctl00$ctl00$AllContent$ContentMain$ucMktStatCtl$txtDate=02/24/2006"
 Dim xmlhttp: Set xmlhttp = CreateObject("msxml2.xmlhttp.3.0")
  xmlhttp.Open "POST", "http://www.cboe.com/data/mktstat2.aspx#VIX", False
  xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
  xmlhttp.send (strPostData)

我收到responsetext404 - 找不到文件或目录。但是该站点确实接受浏览器中的输入。

4

1 回答 1

2

Mozilla firefox 插件 firebug 有助于分析 http 请求。
Post 选项卡显示发送的参数。
URL 应为http://www.cboe.com/data/mktstat2.aspx

在此处输入图像描述

Sub test()

    Dim strPostData As String
    strPostData = "ctl00$ctl00$AllContent$ContentMain$ucMktStatCtl$butReport=Get Report&ctl00$ctl00$AllContent$ContentMain$ucMktStatCtl$ddlNav=&ctl00$ctl00$AllContent$ContentMain$ucMktStatCtl$txtDate=05/31/2013&ctl00$ctl00$AllContent$ucHeader$CBOEHeaderSearchBox$txtHeaderSearch=Search&ctl00$ctl00$AllContent$ucHeader$ucCBOEHeaderQuoteBox$txtHeaderQuote=Quote"

    Dim xmlhttp As Object
    Set xmlhttp = CreateObject("msxml2.xmlhttp")

    xmlhttp.Open "POST", "http://www.cboe.com/data/mktstat2.aspx", False
    xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    xmlhttp.send (strPostData)

    MsgBox xmlhttp.responseText
End Sub
于 2013-06-01T19:30:23.753 回答