2015-07-20 37 views
1

感谢您提供任何帮助!我似乎遇到了阻碍点。 我正尝试从Excel电子表格中将数据字符串发送到给定的HTTP位置。最终我会希望发送字符串中的实际数据字段,但现在我只是硬编码以获得POC工作。通过Excel VBA的HTTP邮政帮助

在研究了关于这个主题的其他帖子之后,我想出了下面的代码示例,但是当尝试进行连接时,我收到一个“400错误请求”网络错误。

任何人都可以发现我在做什么我的语法错了吗?

Sub HTTPpost() 

Dim result As String 
Dim myURL As String 
Dim postData As String 
Dim winHttpReq As Object 

Set winHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1") 

myURL = "Insert URL Location" 
postData = "Insert Data String" 

winHttpReq.Open "POST", myURL, False 
winHttpReq.SetCredentials "Insert ID", "Insert Pwd", 0 
winHttpReq.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
winHttpReq.Send (postData) 

result = winHttpReq.ResponseText 
Debug.Print vbCrLf & "Results:" & vbCrLf & result 

End Sub 

谢谢!!!

回答

0

我能弄明白这一点。根据接收应用程序,UserID和Pwd需要位于DATA字符串中,而不是单独的凭证。 因此,作品的最终结果如下所示:

Sub HTTPpost() 

Dim result As String 
Dim myURL As String 
Dim postData As String 
Dim winHttpReq As Object 

Set winHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1") 

myURL = "Insert URL Location" 
postData = "Insert ID & Insert Pwd & Insert Data String" 

winHttpReq.Open "POST", myURL, False 
winHttpReq.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
winHttpReq.Send (postData) 

result = winHttpReq.ResponseText 
Debug.Print vbCrLf & "Results:" & vbCrLf & result 

End Sub