У меня есть код, запрограммированный в Excel VBA, который получает имя брокера по недвижимости и находит его / ее идентификационный номер агента.Это было сделано с помощью обычного http GET-запроса до января этого года.Недавно сайт Realtor.ca был переделан, и теперь они используют веб-сервисы asmx для получения данных.
Я реплицировал веб-запрос (не использовал все заголовки запроса, так как я решил, что большинство из них не требуются), но не могу заставить его работать.Я получаю 500 Внутренняя ошибка сервера.
Вот выдержка из кода:
Public Function findRealtorIDbyName(iFirstName As String, iLastName As String) As Double
Dim Request As XMLHttp
Dim ApiMsg As String
Dim Doc As DOMDocument60
ApiMsg = "firstName=" & iFirstName & "&lastName=" & iLastName & "&provinceIds=4&recordsPerPage=20¤tPage=1&sortBy=3&sortOrder=A"
With Request
.Open "POST", "https://www.realtor.ca/Services/ControlFetcher.asmx/GetRealtorResults", False
.setRequestHeader "Content-Type", "application/json"
.setRequestHeader "X-Requested-With", "XMLHttpRequest"
.send ApiMsg
Doc.LoadXML .responseText
End With
If Request.Status <> 200 Then
MsgBox "The Request returned " & Request.Status & Request.statusText
findRealtorIDbyName = -1
Exit Function
End If
...Code to find the ID from the XML...
End Function
И процедура вызова:
Public Sub test_findRealtorIDbyName()
Dim result As Double
result = findRealtorIDbyName("Vanessa", "Spaccucci")
MsgBox result
End Sub
Чего мне не хватает?