Мне нужно сделать некоторые GETing и POSTing для веб-службы RESTful из VB6. Каков наилучший и самый простой способ сделать это?
Получить/отправить в веб-службу RESTful
Ответ 1
Вам нужно добавить ссылку на библиотеку MSXML:
Dim sUrl As String
Dim response As String
Dim xmlhttp
Set sUrl = "http://my.domain.com/service/operation/param"
Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.open "POST", sURL, False
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.send()
Dim response As String = xmlhttp.responseText
Set xmlhttp = Nothing
Ответ 2
Мне нужно было это для запросов GET в старом устаревшем приложении в последнее время, и поскольку принятый ответ не скомпилирован, я думал, что разместил бы какой-то рабочий код. Я уверен, что это поможет некоторым бедным подошвам, использующим VB6 в будущем;) Здесь хорошая чистая функция.
Public Function WebRequest(url As String) As String
Dim http As MSXML2.XMLHTTP
Set http = CreateObject("MSXML2.ServerXMLHTTP")
http.Open "GET", url, False
http.Send
WebRequest = http.responseText
Set http = Nothing
End Function
А вот пример использования:
Dim result As String
Dim url As String
url = "http://my.domain.com/service/operation/param"
result = WebRequest(url)
Счастливый VB6ing!:)
Ответ 3
Если вам нужно GET/POST с веб-службы REST, вы можете просто написать HTTP-запрос на URL-адрес веб-службы:
http://www.webservicehost.com/webserviceop?<any parameters>
Если вам нужно передать сложные объекты, вам необходимо их сериализовать, а затем передать их как параметры
Затем вы можете получить ответ HTTP в любом формате, который веб-служба решает вернуть как (JSON, XML и т.д.)