2017-03-27 16 views
15

Trước khi bạn đăng bài này dưới dạng bản sao; Tôi đã thử nhiều đề xuất tôi tìm thấy xung quanh SO.Làm thế nào để đăng dữ liệu cơ thể thô với curl?

Cho đến nay tôi đã sử dụng người đưa thư để đăng dữ liệu lên dịch vụ web Java. Đó là các công trình lớn như sau:

enter image description here

bây giờ tôi muốn làm điều tương tự sử dụng curl, vì vậy tôi đã thử nó sử dụng các cách sau:

$ curl -X POST --data "this is raw data" http://78.41.xx.xx:7778/ 
$ curl -X POST --data-binary "this is raw data" http://78.41.xx.xx:7778/ 
$ curl -X POST --data "@/home/kramer65/afile.txt" http://78.41.xx.xx:7778/ 
$ curl -X POST --data-binary "@/home/kramer65/afile.txt" http://78.41.xx.xx:7778/ 

Thật không may, tất cả những hiển thị một liệu trống cơ thể bên nhận.

Có ai biết tôi đang làm gì sai ở đây không? Yêu cầu curl của tôi khác với yêu cầu của người đưa thư của tôi như thế nào? Tất cả các mẹo đều được chào đón!

Trả lời

16

--data sẽ đặt loại nội dung thành application/x-www-form-urlencoded. yêu cầu Postman bạn đang sử dụng Content-Type: text/plain theo mặc định khi sử dụng raw đầu vào:

curl -X POST -H "Content-Type: text/plain" --data "this is raw data" http://78.41.xx.xx:7778/ 

Lưu ý rằng nếu bạn muốn xem toàn bộ yêu cầu gửi qua đường Postman, bạn có thể bật gỡ lỗi cho ứng dụng đóng gói. Kiểm tra this link để biết tất cả hướng dẫn. Sau đó, bạn có thể kiểm tra việc ứng dụng (nhấp chuột phải trong Postman) và xem tất cả các yêu cầu được gửi từ Postman trong network tab:

enter image description here

+0

Cần lưu ý rằng mặc dù các phần cơ thể được gửi * chính xác * giống nhau. Điều này chỉ thay đổi một tiêu đề. –

Các vấn đề liên quan