VB6からRESTful Webサービスに対してGETおよびPOSTを実行する必要があります。それを行うための最良かつ最も簡単な方法は何ですか?
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
最近、古いレガシーアプリケーションの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! :)
REST WebサービスからGET/POSTする必要がある場合は、WebサービスのURLにHTTPリクエストを書き込むだけです。
http://www.webservicehost.com/webserviceop?<any parameters>
複雑なオブジェクトを渡す必要がある場合は、それらをシリアル化してからパラメータとして渡す必要があります
次に、Webサービスが返すと決定した形式(JSON、XMLなど)でHTTP応答を取得できます。