如何将POST发送到远程URL?

KJW*_*KJW 3 vb6

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

Los*_*ode 5

有很多方法可以解决这个问题。您可以使用 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
Run Code Online (Sandbox Code Playgroud)

以及 OnReadyStateChange 函数:

Dim HttpResponse As String

HttpResponse = myMSXML.responseText
Run Code Online (Sandbox Code Playgroud)

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


Pal*_*mar 5

我们也可以这样做

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
Run Code Online (Sandbox Code Playgroud)

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