Tôi đang sử dụng tiện ích dòng lệnh cURL để gửi HTTP POST tới dịch vụ web. Tôi muốn bao gồm nội dung của một tệp làm thực thể cơ thể của POST. Tôi đã thử sử dụng -d </path/to/filename>
cũng như các biến thể khác có thông tin loại như --data </path/to/filename> --data-urlencode </path/to/filename>
v.v ... tệp luôn được đính kèm. Tôi cần nó như là thực thể cơ thể.Cách gửi nội dung tệp dưới dạng thực thể cơ thể bằng cách sử dụng cURL
110
A
Trả lời
187
Tôi tin rằng bạn đang tìm kiếm cú pháp @filename
, ví dụ .:
curl --data "@/path/to/filename" http://...
=====
curl sẽ gỡ bỏ tất cả dòng mới từ tập tin. Nếu bạn muốn gửi tệp có dòng mới nguyên vẹn, hãy sử dụng --data-binary
thay cho --data
Nếu bạn muốn thực sự ưa thích, bạn có thể làm: 'cat file.txt | curl --data "@ -" \ '(
Breedly
curl sẽ xóa tất cả các dòng mới khỏi tệp. Nếu bạn muốn gửi tệp với dòng mới nguyên vẹn, hãy sử dụng '--data-binary' thay cho' --data'. – Chris
bây giờ, làm cách nào để thêm thông tin đăng nhập để cho phép yêu cầu này? – anon58192932