2013-04-26 34 views
11

Tôi đã được cấp một địa chỉ .. www.abc.com/details và được yêu cầu gửi tên và số điện thoại của tôi trên url này bằng cách sử dụng POST. Họ đã yêu cầu tôi đặt loại nội dung là ứng dụng/json và nội dung dưới dạng JSON hợp lệ bằng các phím sau:BÀI ĐĂNG: gửi yêu cầu đăng trong chính url

name: name of the user 
phone number: phone number of the user 

Bây giờ tôi không biết cách gửi yêu cầu này! Nó sẽ giống như sau:

http://www.abc.com/details?method=post&name=john&phonenumber=445566 

hoặc tôi có phải sử dụng java để gửi không?

Xin giúp

+1

Từ nơi nào bạn phải gửi yêu cầu này? Một ứng dụng, một trang web? Trong ngôn ngữ nào? – CodeCaster

+0

Bạn đang cố gắng triển khai chương trình nào? – gks

+0

đó là điểm .. họ vừa nói rằng tôi sẽ nhận được phản hồi 200 mã nếu thành công từ máy chủ. họ đã không nói bất cứ điều gì khác .. tôi có thể chỉ cần viết một url trên trình duyệt và gửi như vậy? hoặc tôi có phải sử dụng ngôn ngữ lập trình không? – Chandeep

Trả lời

20

Dựa trên những gì bạn cung cấp, điều này khá đơn giản đối với những gì bạn cần làm và thậm chí bạn có một số cách để thực hiện. Bạn sẽ cần một cái gì đó mà sẽ cho phép bạn gửi một cơ thể với yêu cầu của bạn. Hầu như bất kỳ ngôn ngữ lập trình nào cũng có thể thực hiện điều này cũng như các công cụ dòng lệnh như cURL.

Một trong những công cụ của bạn đã được quyết định, bạn sẽ cần tạo cơ thể JSON của mình và gửi nó tới máy chủ.

Một ví dụ sử dụng cURL sẽ (tất cả trong một dòng, trừ đi \ ở phần cuối của dòng đầu tiên):

curl -v -H "Content-Type: application/json" -X POST \ 
    -d '{"name":"your name","phonenumber":"111-111"}' http://www.abc.com/details 

Lệnh trên sẽ tạo ra một yêu cầu mà nên trông giống như sau:

POST /details HTTP/1.1 
Host: www.abc.com 
Content-Type: application/json 
Content-Length: 44 

{"name":"your name","phonenumber":"111-111"} 
2

Trong Java bạn có thể sử dụng GET đó cho thấy yêu cầu dữ liệu trên phương pháp URL.But POST có thể không, bởi vì POST có thân nhưng GET donot có cơ thể.

+1

Bạn _can_ POST tới một URL có tham số GET (truy vấn '), và một GET [can] (http://stackoverflow.com/questions/978061/http-get-with-request-body) có một phần thân . Dù sao điều này không trả lời câu hỏi. – CodeCaster

+0

@CodeCaster có thể trong dịch vụ web RESTFUL GET có thể có nội dung, tôi không biết. Nhưng, tôi đang theo dõi cuốn sách HEAD FIRST - JSP và Servlet, từ O'reilly. Theo cuốn sách đó, các câu lệnh trên của tôi trong câu trả lời là đúng. có thể không phải là câu trả lời thích hợp cho câu hỏi được đăng. Bạn có thể xem trang số 110 trong cuốn sách đó.GET không có nội dung. nơi POST có nội dung thư và đây là điểm chính mà POST xử lý nhiều dữ liệu hơn và lấy nhiều tham số hơn GET. –

+0

Nhưng OP không yêu cầu tư vấn về việc sử dụng POST hay GET, câu hỏi là _how thực hiện yêu cầu POST_. – CodeCaster

6

Bạn có thể gửi dữ liệu đến một url với JavaScript & Jquery một cái gì đó như thế:

$.post("www.abc.com/details", { 
    json_string: JSON.stringify({name:"John", phone number:"+410000000"}) 
}); 

Nhưng nếu bạn không thể cung cấp chính xác những gì bạn muốn, chúng tôi không thể giúp bạn.

+1

Trong trường hợp của tôi $ .post ("chi tiết", {tên: "John, điện thoại:" 555-555-5555 "}), làm việc như một say mê. Mẹo: làm điều đó trong giao diện điều khiển trình duyệt trong khi truy cập www.abc.com –

0

Không thể gửi thông số POST trong url theo cách nhìn chằm chằm. Yêu cầu POST có nghĩa là gửi thông tin trong cơ thể.

Tôi đã tìm thấy một cách khá đơn giản để thực hiện việc này. Sử dụng Postman của Google, cho phép bạn chỉ định kiểu nội dung (trường tiêu đề) làm ứng dụng/json và sau đó cung cấp cặp tên-giá trị làm tham số.

Bạn có thể tìm hướng dẫn rõ ràng tại http://docs.brightcove.com/en/video-cloud/player-management/guides/postman.html

Chỉ cần sử dụng url của bạn ở vị trí của họ.

Hy vọng nó giúp

1

Trong cửa sổ lệnh này không làm việc cho me..I đã thử các lệnh sau và nó hoạt động ..using lệnh này tôi đã tạo phiên trong couchdb đồng bộ cổng đường cho người sử dụng cụ thể ...

curl -v -H "Content-Type: application/json" -X POST -d "{ \"name\": \"abc\",\"password\": \"abc123\" }" http://localhost:4984/todo/_session 
Các vấn đề liên quan