Как передать значение "Content-Length" в заголовке с помощью команды Curl

Как передать длину контента, например. --header Content-Length:1000 в команде curl. Я использовал его в команде, но он не работал

curl -v -X POST -u "[email protected]:xxx123" \ 
     --header "Content-Length: 1000" \
     --header "Content-Type: multipart/mixed" \
     --header "X-REQUEST-ID:7fc7d038-4306-4fc5-89c3-7ac8a12a30d0" \
     -F "request={\"bumId\":\"d51f2978-5ce8-4c71-8503-b0ca438741dd\",\"fileType\":\"imageFile\"};type=application/json" \
     -F "[email protected]:/file.pdf" \
     "http://localhost:9090/pro/v1/files"

Эта команда отправляет файл в веб-службы, разработанные на Джерси-Яве

Ответ 1

Попробуйте это: curl -X POST http://localhost:9090/pro/v1/files -d "Content-Length: 0"

Флаг curl -d позволяет добавлять данные в тело запроса. Согласно его документам:

-d, - -d ata (HTTP) Отправляет указанные данные в POST-запросе на HTTP-сервер так же, как это делает браузер, когда пользователь заполнил HTML-форму и нажал кнопку отправки. Это заставит curl передавать данные на сервер, используя application-type/x-www-form-urlencoded.

Ответ 2

Использовать -d "" заставляет CURL отправлять Content-Length: 0

Ответ 3

Добавление таких заголовков должно делать трюк:

-H 'content-length: 1000' \