2013-04-26 13 views
11

Otrzymałem adres URL .. www.abc.com/details i poprosiłem o wysłanie mojego imienia i nazwiska oraz numeru telefonu pod tym adresem URL za pomocą POST. Oni powiedzieli mi, aby ustawić typ zawartości application/json, jak i ciała, jak ważne JSON z następujących klawiszy:POST: wysłanie prośby o wpis w samym adresie URL

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

teraz nie mam pojęcia, jak wysłać tę prośbę! To będzie coś takiego:

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

czy muszę używać java wysłać to samo?

Proszę o pomoc

+1

Skąd musisz wysłać tę prośbę? Aplikacja, strona internetowa? W jakim języku? – CodeCaster

+0

Jakie programowanie próbujesz zaimplementować? – gks

+0

o to właśnie chodzi. Właśnie powiedzieli, że otrzymam odpowiedź 200 kodu, jeśli odniesie sukces z serwera. nie powiedzieli nic więcej. Czy mogę po prostu napisać adres URL w przeglądarce i przesłać to samo? czy muszę używać języka programowania? – Chandeep

Odpowiedz

20

W oparciu o to, co podałeś, jest dość proste, co musisz zrobić, a nawet masz na to wiele sposobów. Będziesz potrzebować czegoś, co pozwoli Ci opublikować ciało z Twoją prośbą. Może to zrobić prawie każdy język programowania, a także narzędzia wiersza poleceń, takie jak cURL.

Po wybraniu narzędzia należy utworzyć ciało JSON i przesłać je na serwer.

Przykładem użyciu cURL byłoby (wszystko w jednej linii, minus \ na końcu pierwszego wiersza):

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

Powyższe polecenie stworzy wniosek, który powinien wyglądać następująco:

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

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

W Javie można użyć GET które znajdują się żądane dane dotyczące URL.But POST metoda może nie, bo POST ma ciało, ale GET dawca ma ciało.

+1

Możesz _PODZIĆ do adresu URL, który ma parametry GET ("zapytanie"), a GET [może] (http://stackoverflow.com/questions/978061/http-get-with-request-body) mieć ciało . W każdym razie to nie odpowiada na pytanie. – CodeCaster

+0

@CodeCaster może w RESTFUL serwisie internetowym GET może mieć ciało, nie wiem. Ale podążam za książką HEAD FIRST - JSP and Servlet, od O'reilly. Jak na tę książkę, moje powyższe stwierdzenia w odpowiedzi są poprawne.To może nie być właściwą odpowiedzią na wysłane pytanie. Możesz zobaczyć stronę nr 110 w tej książce. GET nie ma ciała. gdzie POST ma treść wiadomości i jest to kluczowy punkt, w którym POST obsługuje więcej danych i pobiera więcej parametrów niż GET. –

+0

Ale OP nie pyta o to, czy używać POST czy GET, pytanie brzmi: jak wykonać żądanie POST. – CodeCaster

6

można dodawać dane do adresu URL z JavaScript & Jquery coś takiego:

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

Ale jeśli nie może dostarczyć dokładnie to, co chcesz, nie możemy pomóc.

+1

W moim przypadku $ .post ("details", {imię i nazwisko: "John, phone:" 555-555-5555 "}), działa jak wdzięk Porada: zrób to w konsoli przeglądarki podczas odwiedzania www.abc.com –

0

Nie można wysłać parametrów POST w adresie URL starightforward. Żądanie POST samo w sobie oznacza wysyłanie informacji do ciała.

Znalazłem dość prosty sposób na zrobienie tego. Użyj Postmana przez Google, który pozwala określić typ zawartości (pole nagłówka) jako application/json, a następnie podać parametry nazwa-wartość jako parametry.

można znaleźć jasne wskazówki co http://docs.brightcove.com/en/video-cloud/player-management/guides/postman.html

Wystarczy użyć adresu URL w miejscu ich.

Nadzieja pomaga

1

W oknach to polecenie nie działa dla me..I próbowali następujące polecenie i to działa ..using tego polecenia utworzonego sesję w couchdb synchronizacji bramy sposób dla konkretnego użytkownika ...

curl -v -H "Content-Type: application/json" -X POST -d "{ \"name\": \"abc\",\"password\": \"abc123\" }" http://localhost:4984/todo/_session