2013-04-26 11 views
11

mi è stato dato un URL .. www.abc.com/details e ha chiesto di inviare il mio nome e numero di telefono su questo URL utilizzando POST. Mi hanno detto di impostare il tipo di contenuto come application/JSON e il corpo come valida JSON con i seguenti tasti:POST: l'invio di una richiesta di post in un URL per sé

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

ora non ho idea di come inviare questa richiesta! Sarà qualcosa di simile:

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

o devo usare java per inviare lo stesso?

Aiutateci

+1

Da dove devi inviare questa richiesta? Un'applicazione, una pagina web? In che lingua? – CodeCaster

+0

Quale programmazione stai tentando di implementare? – gks

+0

che è il punto .. hanno appena detto che otterrò una risposta di 200 codice se il successo dal server. non hanno detto altro .. posso semplicemente scrivere un URL sul browser e inviare lo stesso? o devo usare un linguaggio di programmazione? – Chandeep

risposta

20

In base a ciò che hai fornito, è abbastanza semplice per quello che devi fare e hai anche un certo numero di modi per farlo. Avrai bisogno di qualcosa che ti permetta di pubblicare un corpo con la tua richiesta. Quasi tutti i linguaggi di programmazione possono farlo, così come strumenti a riga di comando come cURL.

Una volta stabilito lo strumento, è necessario creare il corpo JSON e inviarlo al server.

Un esempio utilizzando cURL sarebbe (tutto in una riga, meno il \ alla fine della prima riga):

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

Il comando precedente creerà una richiesta che dovrebbe essere simile al seguente:

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

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

In Java è possibile utilizzare GET che mostra i dati richiesti sul metodo URL.But POST non può, perché POST ha corpo, ma GET donot avere il corpo.

+1

You _can_ POST a un URL con parametri GET (la 'query') e un GET [can] (http://stackoverflow.com/questions/978061/http-get-with-request-body) hanno un corpo . Comunque questo non risponde alla domanda. – CodeCaster

+0

@CodeCaster forse nel servizio web RESTFUL GET può avere il corpo, non lo so. Ma, sto seguendo il libro HEAD FIRST - JSP e Servlet, da O'reilly. Come per quel libro, le mie affermazioni sopra riportate sono corrette. potrebbe non essere la risposta appropriata per la domanda postata. Puoi vedere la pagina n. 110 in quel libro. GET non ha corpo. dove POST ha il corpo del messaggio e questo è il punto chiave che il POST gestisce più dati e prende più parametri di GET. –

+0

Ma OP non chiede consiglio se usare POST o GET, la domanda è _come fare una richiesta POST_. – CodeCaster

6

È possibile inviare i dati a un URL con JavaScript & Jquery qualcosa di simile:

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

Ma se non si può fornire esattamente ciò che si desidera che non si può fare.

+1

Nel mio caso $ .post ("dettagli", {nome: "John, telefono:" 555-555-5555 "}), ha funzionato come un incantesimo Suggerimento: farlo nella console del browser mentre si visita www.abc.com –

0

Non è possibile inviare i parametri POST nell'URL in modo starightforward. La richiesta POST in sé significa l'invio di informazioni nel corpo.

Ho trovato un modo abbastanza semplice per farlo. Utilizza Postman di Google, che ti consente di specificare il tipo di contenuto (un campo di intestazione) come application/json e quindi fornire coppie nome-valore come parametri.

È possibile trovare indicazioni chiare a http://docs.brightcove.com/en/video-cloud/player-management/guides/postman.html

Basta utilizzare l'URL al posto di loro.

Speranza che aiuta

1

In Windows questo comando non funziona per me..I hanno provato il seguente comando e funziona ..using questo comando ho creato sessione in CouchDB sincronia modo cancello per l'utente specifico ...

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