【发布时间】:2015-04-18 09:54:20
【问题描述】:
我是 VBA 新手,所以这可能是我的问题。我正在尝试从 Excel 执行 HTTP POST 到 Web 服务,并且我可以非常愉快地 POST,直到我更改代码以便在我的消息中发布内容,此时我收到以下错误:
运行时错误'-2147024809 (80070057)':
参数不正确。
我的代码如下:
Dim oHttp As Object
Set oHttp = CreateObject("MSXML2.XMLHTTP.6.0")
Call oHttp.Open("POST", url, False)
oHttp.setRequestHeader "Content-Type", "application/text"
oHttp.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
Call oHttp.send(content)
httpPOST = oHttp.responseText
杀死代码的那一行是 oHttp.send - 如果我不传递任何内容,那很好,只要我把内容放在这里就不开心了。
内容参数是一个包含逗号分隔文本并包含换行符的大字符串。我认为这就是它不开心的原因,如果我将字符串更改为简单的“Hello”,那么发送成功并且应用程序会愉快地进入下一行,然后再遇到运行时错误:
完成此操作所需的数据尚不可用
所以我想我的问题是,如何将一大段文本发布到服务器?
谢谢
【问题讨论】:
-
你不需要
Call或括号来包裹它们所使用的两个代码行中的任何一个的参数。content 是空白的;虽然您可能已经删除了字符串分配,但您应该对其进行编辑,以便我们可以看到您尝试传递给 post 操作的版本。 -
也许尝试编码您的数据? stackoverflow.com/questions/17818903/… 还要确保您的网址格式正确