2011-08-09 30 views
7

Tôi sử dụng tập lệnh shell đơn giản để kiểm tra một số máy chủ http xử lý các yêu cầu POST. Thông thường nó trông giống như:lwp-yêu cầu trong vỏ: làm thế nào để làm cho yêu cầu POST với cơ thể?

echo "param1=value1&param2=value2" | POST localhost/service 

Nhưng bây giờ tôi muốn vượt qua cũng có một số json trong POST cơ thể và đó là nơi tôi bị thiếu điểm hoàn toàn.

người đàn ông POST và Google không giúp được gì nhiều.

Dường như nó phải rất đơn giản hoặc hoàn toàn không thể.

Cảm ơn bạn đã trợ giúp.

Trả lời

4

Hoặc là tôi đang thiếu một cái gì đó, hoặc bạn nên làm

 
$ echo -n '{"json":"data"}' | POST -c "application/json" 'http://localhost/service?param1=value1&param2=value2' 

Nếu bạn cần phải đặt những thông số không như GET, nhưng cũng như POST, sau đó tra cứu dữ liệu biểu mẫu nhiều phần.

+0

Bạn có thể có nghĩa là 'echo -n '{" json ":" dữ liệu "}' | POST -c "application/json" localhost/service' Tốt, nhưng vẫn để lại cho tôi vấn đề làm thế nào để truyền tham số yêu cầu '" param1 = value1 & param2 = value2 "' –

+0

Tôi đã cập nhật câu trả lời. –

+0

Cảm ơn, chính xác những gì tôi cần. Hãy để tôi kiểm tra xem nó hoạt động như thế nào. –

1

Bạn có thể cần phải vượt qua kiểu nội dung sử dụng -c:

POST -c application/json 
+0

Bạn sẽ không tử tế gì khi chỉ định giao diện dòng lệnh chính xác? 'echo" param1 = value1 & param2 = value2 "| POST -c application/json "một số nội dung ở đây" localhost/service' không hoạt động. –

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