Как преобразовать команду Curl в объект WinHttpRequest в vba excel - PullRequest
1 голос
/ 12 июля 2020

Задана команда Curl:

curl https://URL -u xxxxxxxxxxxxxxxxxxxxxx: -X ЗАПИСЬ -F "файл_источника=@/tmp/my.doc" -F "DoSomething = checkit"

Ожидаемый результат - строка Json. Как это можно использовать в макросе VBA Excel с использованием объекта WinHttp.WinHttpRequest.5.1. Файл «my.do c» передается по имени или массивом байтов?

Мне удалось передать простую команду Curl:

curl https://URL -u xxxxxxxxxxxxxxxxxxxxxx:

в следующий код, который отлично работает.

With CreateObject("WinHttp.WinHttpRequest.5.1")
    .Open "GET", URL, False
    .SetCredentials "xxxxxxxxxxxxxxxxxxxxxx", "", 0
    .send
    If .Status <> 200 Then
        If MsgBox(.responseText, vbOKOnly + vbCritical, "Error") = vbOK Then
            Exit Sub
        End If
    Else
        ss = .responseBody
        BodyData = StrConv(ss, vbUnicode)
        Set Json = JsonConverter.ParseJson(BodyData)
    End If

То же самое необходимо для приведенной выше команды Curl. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 12 июля 2020

Вам нужно будет изменить и добавить еще несколько параметров для запроса POST. Попробуйте выполнить адаптацию, используя этот пример, и сообщите нам, в чем заключаются ошибки, если они возникнут.

Запрос POST с win http

...