【问题标题】:Get/post to RESTful web service获取/发布到 RESTful Web 服务
【发布时间】:2011-03-31 18:36:55
【问题描述】:

我需要从 VB6 对 RESTful Web 服务进行一些 GET 和 POST。最好和最简单的方法是什么?

【问题讨论】:

  • 我对不得不在 VB6 中使用 Web 服务表示哀悼。
  • @Ryan,至少比将几个类从php重写到vb然后维护它们要好得多。而且由于我正在制作 web 服务,它将尽可能简单,即没有 xml、json 等。响应将只是一个短字符串(一个单词?)或可能是一个数字。
  • LOL 我想回到 C# (waaaa) LOL

标签: rest web-services vb6


【解决方案1】:

我最近在一个旧的遗留应用程序中需要这个 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)

VB6 快乐! :)

【讨论】:

【解决方案2】:

您需要添加对 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

【讨论】:

  • 并且方便地类似于在 Internet Explorer 中的 JavaScript 中使用 XMLHTTPRequest!
  • @Justin 我没有 MSXML2,我有 MSXML.XMLHTTPRequest,类似吗?
  • 那段代码甚至比不上 VB6,但我想你应该能够从中弄清楚。
  • @Bob Riemersma - 你是对的。我已经花了太多时间远离它。希望我的编辑使其更符合正确的 VB6 语法。
  • 如何用这段代码传递一些数据?这个 sn-p 只是简单地调用一个服务?
【解决方案3】:

如果您需要从 REST Web 服务进行 GET/POST,您可以简单地将 HTTP 请求写入 Web 服务的 URL:

http://www.webservicehost.com/webserviceop?<any parameters>

如果您需要传递复杂的对象,您需要将它们序列化,然后将它们作为参数传递

然后,您可以获取 Web 服务决定返回的任何格式(JSON、XML 等)的 HTTP 响应

【讨论】:

  • 您的回答没有解决如何在 VB6 中实现这一点。
  • 我认为 echo 知道原理,正在寻找具体的 vb6 建议。
  • 是的,我只需要细节。谢天谢地,我不再接触 VB6,我现在主要使用 PHP 和一些 python。
  • 那么 Justin Niessner 给出了 IMO 的最佳答案,很抱歉造成误解。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-07
  • 2011-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多