Форум OlegON > Программы и оборудование для автоматизации торговли > Маркировка

Запрос маркировки через curl. Нужна помощь. : Маркировка

08.05.2024 16:11


21.04.2024 12:06
Тигин Олег
 
Команда запроса:

curl -k -X POST "ссылка на сайт маркировки" -H "X-API-KEY: 8e8.........................72" -H "Content-Type: application/json" -d @"mark.lst" -o 1.txt

У меня, при определенных условиях, ругается на слишком длинную строку запроса...

Данные по коду маркировки передаю через файл "mark.lst".

Как мне передать X-API-KEY тоже через файл, чтобы сократить длину запроса?

Ну, и желательно длинную ссылку на сайт маркировки - тоже через отдельный файл...

Заранее благодарю...
21.04.2024 12:29
vdm
 
Заголовки аналогично данным через файл передаются
Цитата:
-H, --header <header/@file>
...
This option can take an argument in @filename style, which then
adds a header for each line in the input file. Using @- will
make curl read the header file from stdin. Added in 7.55.0.
...
21.04.2024 12:38
vdm
 
Или можно вообще все аргументы загнать в "конфиг".
Цитата:
-K, --config <file>

Specify a text file to read curl arguments from. The command
line arguments found in the text file will be used as if they
were provided on the command line.
21.04.2024 12:41
Тигин Олег
 
Пробовал вот так:

.... -H @"zpr.key" ....

А в файле "zpr.key" пишу

X-API-KEY: 8..вывфывыф...b72

И без кавычек, и в кавычках,

"X-API-KEY: 8..вывфывыф...b72"

Никак не проходит...

P.S. curl использую давно, в основном в ЕГАИС, но всегда делал по образцу, синтаксис curl практически не знаю...
21.04.2024 13:41
Тигин Олег
 
Пришло понимание, что можно создать и использовать файл конфигурации для curl, куда можно записать, например, "ключ" ЧЗ, тем самым сократив длину команды...

Но не нашел пока конкретных примеров, а методом "тыка" пока не получается...
21.04.2024 13:44
Тигин Олег
 
Не нашел синтаксис, как вставить в запрос конкретную переменную, описанную в файле конфигурации...
21.04.2024 14:09
vdm
 
Если лень гуглить, то справка есть встроенная
curl --manual

В файле заголовков дополнительные кавычки в каждой строке не нужны
Цитата:
X-API-KEY: xxxxx
Content-Type: application/json
В файле конфгурации параметры пишутся через =
Цитата:
# --- Example file ---
# this is a comment
url = "example.com"
output = "curlhere.html"
user-agent = "superagent/1.0"

# and fetch another URL too
url = "example.com/docs/manpage.html"
-O
referer = "http://nowhereatall.example.com/"
# --- End of example file ---
И дебаг (-v, --trace <file>) никто не отменял. Посмотрите что curl отсылает c рабочими параметрами и с измененными неработающими.
21.04.2024 14:28
Тигин Олег
 
Спасибо, но я много уже всего перечитал...

url = "example.com"

Это очевидно и понятно,

Но как этот "url" вставить в командную строку?
21.04.2024 14:33
Тигин Олег
 
Я примеров не нашел и как только не пробовал...
21.04.2024 14:38
vdm
 
Я не работаю с маркировкой через curl, тут есть люди у которых заголовки через файл реализованы, но сейчас выходной...
Если покажете работающую командную строку + файл марок, попробую у себя переделать на конфиг (X-API-KEY не нужен, использую свой).
Часовой пояс GMT +3, время: 16:11.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.