【问题标题】:How to send POST to remote url?如何将 POST 发送到远程 url?
【发布时间】:2010-11-02 21:05:52
【问题描述】:

如何使用 VB6 向远程 URL 发送 POST 请求?

【问题讨论】:

  • 还有人用VB6? :o

标签: vb6


【解决方案1】:

有很多方法可以解决这个问题。您可以使用 WinInet API、WinHTTP API、WinHTTPRequest 或 XMLHTTPRequest。我更喜欢较低级别的 Winsock,你可以在这里阅读: http://www.vbforums.com/showthread.php?t=334645 。在我看来,Winsock 有点复杂,但功能更强大。如果你想做简单而甜蜜的事情,XML HTTP Request 是最好的选择,我也在 javascript 中使用它。尝试类似:

Set myMSXML = New MSXML.XMLHTTPRequest
myMSXML.open "POST", URL, True
myMSXML.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
myMSXML.setRequestHeader "User-Agent", "Firefox 3.6.4"
myMSXML.OnReadyStateChange = (Shown below)
myMSXML.send YourPostDataString

还有 OnReadyStateChange 函数:

Dim HttpResponse As String

HttpResponse = myMSXML.responseText

如果你发现我的代码不工作,或者你有点困惑,对不起,我现在对 VB 有点生疏了。您可以在此处查看有关 XMLHTTPRequest 的 Microsoft 官方文档:http://msdn.microsoft.com/en-us/library/ms759148%28VS.85%29.aspx

【讨论】:

  • +1 类似于this question 中发布的代码,这是一个好兆头。
【解决方案2】:

我们也可以这样做

Set myMSXML = CreateObject("Microsoft.XmlHttp")
myMSXML.open "POST", "http://....", False
myMSXML.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
myMSXML.setRequestHeader "User-Agent", "Firefox 3.6.4"
myMSXML.send "param1=value2&param2=value2"
MsgBox myMSXML.responseText

您可以查看更多参考资料http://smartreferences.blogspot.in

【讨论】:

    【解决方案3】:

    对于我的 API 仅适用于“Content-Type”标头中的“application/json”。 这是我的代码:

    textJSON = "{ ""field1"":""value1"", ""field2"":""value2""}"
    Set myMSXML = CreateObject("Microsoft.XmlHttp")
    myMSXML.Open "POST", "http://...", False
    myMSXML.setRequestHeader "Content-Type", "application/json"
    myMSXML.setRequestHeader "User-Agent", "Firefox 3.6.4"
    myMSXML.send textJSON
    MsgBox myMSXML.responseText
    

    【讨论】:

      猜你喜欢
      • 2017-07-21
      • 1970-01-01
      • 1970-01-01
      • 2020-06-20
      • 1970-01-01
      • 2013-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多