我正在尝试通过VBA发送HTTP发布。这是我的代码部分

Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
objHTTP.Open "POST", url, False
objHTTP.setRequestHeader "User-Agent", "EPS 1.0"
objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.setRequestHeader "content", postString
objHTTP.setRequestHeader "Content-Length", Len(postString)
objHTTP.send

问题是,仅当postString小于65535字符时,该代码才有效。如果超过65535字符,则会在下面的行上引发错误:


objHTTP.setRequestHeader "content", postString

有什么想法吗?我是否需要设置其他任何参数才能解决该问题?

最佳答案

每位:https://support.microsoft.com/en-us/kb/290591

这应该工作:

postString = "id=" & String(66000,"x")
Dim xmlhttp
Set xmlhttp = Createobject("MSXML2.ServerXMLHTTP")
xmlhttp.Open "POST", url, false
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.send postString

如果它不起作用,则可能是服务器端设置有问题。

关于VBA HTTP POST不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31089076/

10-12 21:38