如何解决这个网站使用XMLHTTP需要什么参数?
我不知道需要将哪些参数从父页面(使用 VBA)发送到子页面才能访问数据。我已经尝试过使用引用(主页面 URL)和 HTML 文本中的各种详细信息作为 POST,但 Excel 挂起每次尝试使用 XMLHTTP 调用页面!
其实在主站点上,只需要从下拉列表中选择一个值然后点击搜索按钮,而不必填写其他字段,但是子页面仍然没有响应相关ID值的POST .
<select name="Vort" size="1">
<option size="30" value="%"></option>
<option value="60467"</option>
<option value="60470"</option>
<option value="60468"</option>
...
有什么想法吗?我的 VBA 代码(Excel 挂起,无论使用哪个 POST 参数):
Public Sub GETDATA()
Dim html As New HTMLDocument,Htmldoc As New HTMLDocument,x As Long
With CreateObject("MSXML2.ServerXMLHTTP.6.0")
.Open "Post",URL,False
.send '?
html.body.innerHTML = .responseText
End With
For x = 0 To 10
Htmldoc = html.querySelectorAll("th").Item(x)
ActiveSheet.Cells(x + 2,2) = Htmldoc.innerText
Next
End Sub
解决方法
要获得所需的响应,您需要发送适当的参数以及带有发布请求的内容类型标头。
以下发布请求中使用的参数基于此 selection。
Public Sub GetContent()
Const link = "https://www.thueringen.de/olgneu/zvg/dosearch2_neu.asp"
Dim oHtml As HTMLDocument,payload$
Set oHtml = New HTMLDocument
payload = "REASON=FULL_SEARCH&START_AT=1&Objekte_Ort=&VersteigerungsOrt=60467&Aktenzeichen=&ObjektWert_von=&ObjektWert_bis=&Termin_Ab=26.4.2021&Termin_Bis=&MAX_HIT=10"
With CreateObject("MSXML2.XMLHTTP")
.Open "POST",link,False
.setRequestHeader "User-Agent","Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/84.0.4147.135 Safari/537.36"
.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
.send (payload)
oHtml.body.innerHTML = .responseText
End With
MsgBox oHtml.querySelector("tr.klein a[href]").href
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。