Как скачать файл (*. Txt или * .pdf), полученный от GET api-ответа через команду Curl? - PullRequest
0 голосов
/ 03 мая 2019

Я хочу загружать файлы (*. Txt и * .pdf) с сайта Ariba через запрос GET api и хочу автоматизировать весь процесс загрузки. Первоначально я использовал Postman для тестирования, что дает мне результат в виде содержимого файла. Например, Файл test.txt присутствует на удаленном сайте, после GET-запроса от Почтальона, результат, который я получаю, находится в форме содержимого файла, поэтому, если в файле записано «abc», я получаю «abc» в ответ от файл test.txt.

Теперь, если я нажимаю кнопку «Отправить и скачать» в «Почтальоне», это дает мне возможность загрузить файл «test.txt»

Я должен автоматизировать этот процесс, чтобы отправить GET-ответ и получить необходимую загрузку файла в определенном месте. Я пытаюсь использовать скрипт Curl для этого.

Я написал соответствующий скрипт Curl и попытался его выполнить. Это дает мне ответ в виде содержимого файла.

curl -X GET \
  'https://openapi.ariba.com/api/approval/v1/prod/invoices/INVASINV6-902/attachments/bnMyMDE5LzA0LzAzLzE1MjkyNDE4MQ==?realm=ProjectName&Content-Disposition=attachement' \
  -H 'Accept: */*' \
  -H 'Authorization: Bearer 7648d29a-db04-4046-b49c-5daed43a145c' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Host: openapi.ariba.com' \
  -H 'accept-encoding: gzip, deflate' \
  -H 'apiKey: xxxxxxxxxxxxxxxxxx' \
  -H 'cache-control: no-cache'

Я хочу написать скрипт скручивания, который будет загружать файл в определенном месте. Например, Выше команды curl дают содержимое (abc) из файла Test.txt, а не из файла Test.txt в качестве вывода

Очень ценю вашу помощь Curl Получить ответ

Почтальон Получить ответ

1 Ответ

0 голосов
/ 07 мая 2019

Наконец я получил ответ на вопрос, мне просто нужно удалить -X GET из моего скрипта curl и в конце добавить -o, чтобы загрузить имя файла. Ниже приведен окончательный код:

curl  'https://openapi.ariba.com/api/approval/v1/prod/invoices/INVASINV6-902/attachments/bnMyMDE5LxxxxLzE1MjkyNDE4MQ==?realm=ProjectName' \
  -H 'Accept: */*' \
  -H 'Authorization: Bearer 77876887-xxxxx-42fb-b865-9cf8ff5c2b25' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Host: openapi.ariba.com' \
  -H 'accept-encoding: gzip, deflate' \
  -H 'apiKey: XXXXXXXXXXXXXXXX' \
  -H 'cache-control: no-cache' \
  -H 'Content-Type: application/octet-stream' \
  -H "Content-Transfer-Encoding: Binary" \
  -o "Test.txt"

Выше кода дают мне файл, загруженный в определенном месте Спасибо BlackPearl.

...