2011-11-15 37 views
26

Tôi đang ở trong Thiết bị đầu cuối của mình và tôi muốn gửi yêu cầu POST đến URL đã cho. Tôi đã thử nghiệm điều này với một máy khách REST vì vậy tôi biết rằng các tham số hoạt động.Lệnh curl để phát hành yêu cầu POST

Vì vậy, cho phép nói rằng tôi muốn đăng các thông số sau:

  • username = tony
  • password = bí mật

Để URL của tôi: https://exmaple.com/login/

Tôi đã thử các curl sau lệnh trong Thiết bị đầu cuối của tôi (Tôi đang sử dụng OSX Lion)

curl --data "username=tony&password=secret" http://exmaple.com/login/ 

Tôi nhận được 500 Server Error quay lại từ máy chủ để tôi hiện đang nghĩ về điều gì đó có thể khác nhau giữa REST Client và lệnh curl.

Nhờ sự giúp đỡ của bạn

Cập nhật: Tôi đang sử dụng một dịch vụ https. Tôi có phải điều chỉnh lệnh curl của mình để giải thích điều này không?

+2

Sử dụng tùy chọn --trace-ascii để xem dữ liệu đi qua dây và so sánh với những gì khách hàng REST gửi. – Dan

+0

Cảm ơn bạn đã gửi mã số. Trong khi tôi đã làm theo dõi tôi nhận ra rằng tôi đang sử dụng HTTPS. Vì vậy, nó có thể được rằng tôi cần phải có một số biện pháp phòng ngừa để giải thích cho điều đó? – Besi

+1

HTTPS không nên tạo sự khác biệt trên lề đường được cài đặt đúng cách. Tệ hơn, bạn có thể gặp lỗi xác nhận chứng chỉ mà bạn có thể làm việc xung quanh (tạm thời!) Bằng tùy chọn -k. – Dan

Trả lời

23

Hãy thử

curl -F username=tony -F password=secret http://exmaple.com/login/ 

-F này (reference) có lẽ nên làm tương tự như --data? Có thể vấn đề là trong webapp.

Có thể ứng dụng bạn đang nhấn sử dụng xác thực cơ bản để xác thực? Hãy thử cách này:

curl --user name:password http://exmaple.com/login/ 
+5

-F thực hiện một bài đa phần trong khi --data thực hiện một ứng dụng tiêu chuẩn/x-www-form-urlencoded, do đó, có một cơ hội tốt nếu một người không làm việc mà người kia sẽ làm. – Dan

+0

tôi nên biết điều đó; tôi cắt và dán lệnh đó từ một bài viết trên blog của tôi về tải lên nhiều bài đăng! – russau

+0

OK Tôi nghĩ rằng có sự cố với máy chủ của tôi thực hiện xác thực. Tuy nhiên tôi vẫn thấy nó tò mò rằng nó hoạt động mà không có vấn đề với khách hàng phần còn lại. Tôi có thể phải thực hiện một số thao tác xử lý cookie đặc biệt không? – Besi

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