2015-07-20 2 views
1

Благодарим за помощь, которую вы можете предоставить! Кажется, я попал в точку блокировки. Я пытаюсь отправить строку данных из электронной таблицы Excel в заданное местоположение HTTP. В конце концов, я хочу отправить фактические поля данных в строку, но на данный момент я просто жестко кодирую, чтобы заставить POC работать.HTTP-сообщение через Excel VBA

После изучения других сообщений по этому же вопросу, я придумал пример кода ниже, однако при попытке выполнить соединение я получаю ошибку веб-сайта «400 Bad Request».

Может ли кто-нибудь определить, что я делаю неправильно в своем синтаксисе?

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 
Смежные вопросы