За последний год я довольно много ломал веб-страниц, и в какой-то момент по причинам, которые я уже не помню, я решил использовать библиотеку Microsoft WinHTTP Services version 5.1
в качестве решения по умолчанию при отправке HTTP-запросов.
У меня никогда не было проблем с этим, и я добился всего, что я когда-либо пытался сделать, когда речь шла о сломе в Интернете.
То есть, пока я не попробовал следующее:
Sub nse()
Dim req As New WinHttpRequest
Dim url As String, requestPayload As String
url = "https://www.niftyindices.com/Backpage.aspx/getHistoricaldatatabletoString"
requestPayload = "{'name':'NIFTY 50','startDate':'01-Feb-2020','endDate':'01-Feb-2020'}"
With req
.Open "POST", url, False
.setRequestHeader "Content-Type", "application/json; charset=UTF-8"
.send requestPayload
Debug.Print .responseText
End With
End Sub
Сбой метода .send
с
Ошибка времени выполнения -2147012894 (80072ee2) Ошибка автоматизации
Изменение на Dim req As New MSXML2.XMLHTTP60
полностью решает проблему.
Что мне здесь не хватает? Может быть, это как-то специфицирует сайт c? Есть ли что-то во внутренней работе этих двух библиотек, которые я должен знать?
Любой вклад будет оценен.