2013-04-26 10 views
11

Ich habe eine URL www.abc.com/details und gebeten, meinen Namen und Telefonnummer auf dieser URL mit POST zu senden. Sie haben mir gesagt, den Content-Type als application/json und den Körper als gültig JSON mit den folgenden Tasten zu setzen:POST: Senden einer Post-Anfrage in einer URL selbst

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

Nun, ich habe keine Ahnung, wie diese Anfrage zu senden!

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

oder muss ich java verwenden, um das gleiche zu senden: Wird es so etwas wie?

Bitte helfen

+1

Von welchem ​​Gerät müssen Sie diese Anfrage verschicken? Eine Anwendung, eine Webseite? In welcher Sprache? – CodeCaster

+0

Welche Programmierung möchten Sie implementieren? – gks

+0

das ist der Punkt .. sie haben gerade gesagt, dass ich eine Antwort von 200 Code bekommen werde, wenn der Erfolg vom Server. Sie haben nichts anderes erzählt. Kann ich einfach eine URL in den Browser schreiben und das selbe einreichen? oder muss ich eine Programmiersprache verwenden? – Chandeep

Antwort

20

Basierend auf dem, was Sie zur Verfügung gestellt haben, ist es ziemlich einfach für das, was Sie tun müssen, und Sie haben sogar eine Reihe von Möglichkeiten, dies zu tun. Sie benötigen etwas, mit dem Sie einen Körper mit Ihrer Anfrage veröffentlichen können. Fast jede Programmiersprache kann dies ebenso wie Kommandozeilen-Tools wie cURL.

Wenn Sie Ihr Tool ausgewählt haben, müssen Sie Ihren JSON-Body erstellen und an den Server senden.

Ein Beispiel cURL wäre (alles in einer Zeile, abzüglich der \ am Ende der ersten Zeile):

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

Der obige Befehl eine Anfrage erstellen wird, die wie folgt aussehen:

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 können Sie GET verwenden, die Daten auf URL.But POST Methode angefordert zeigt nicht kann, weil POST Körper hat aber GET DONot Körper haben.

+1

Sie können POST an eine URL mit GET-Parametern (die 'query') und eine GET [can] (http://stackoverflow.com/questions/978061/http-get-with-request-body) eine Nachricht senden . Wie auch immer, das beantwortet die Frage nicht. – CodeCaster

+0

@CodeCaster vielleicht in RESTFUL Web-Service GET kann Körper haben, weiß ich nicht.Aber ich folge dem Buch HEAD FIRST - JSP und Servlet, von O'reilly. Wie in diesem Buch, meine obigen Aussagen in der Antwort ist korrekt möglicherweise nicht die passende Antwort für die gepostete Frage. Sie können die Seite Nr. 110 in diesem Buch sehen. GET hat keinen Körper. POST hat einen Nachrichtentext und dies ist der entscheidende Punkt, wenn POST mehr Daten verarbeitet und mehr Parameter als GET benötigt. –

+0

Aber OP fragt nicht auf Rat, ob man POST oder GET benutzt, die Frage ist _wie man eine POST-Anfrage macht. – CodeCaster

6

Sie können Daten veröffentlichen zu einer URL mit JavaScript & JQuery so ähnlich:

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

Aber wenn man nicht genau, was Sie wollen, können wir Ihnen nicht helfen.

+1

In meinem Fall $ .post ("Details", {Name: "John, Telefon:" 555-555-5555 "}); funktionierte wie ein Charme. Tipp: Machen Sie es in der Browser-Konsole während Sie www.abc.com besuchen –

0

Es ist nicht möglich, POST-Parameter in der uRL in einer starightforward Weise zu senden. POST-Anfrage bedeutet, dass Informationen im Körper gesendet werden.

Ich fand eine ziemlich einfache Möglichkeit, dies zu tun. Verwenden Sie Postman by Google, mit dem Sie den Inhaltstyp (ein Header-Feld) als application/json angeben und dann Name-Wert-Paare als Parameter angeben können.

können Sie klare Anweisungen finden bei http://docs.brightcove.com/en/video-cloud/player-management/guides/postman.html

einfach Ihre URL an die Stelle ihrer Verwendung.

Hoffe, dass es

1

In Windows hilft dieser Befehl nicht für me..I funktioniert habe versucht, den folgenden Befehl ein und es funktioniert ..using diesen Befehl I Sitzung erstellt in couchdb Sync-Gate-Art und Weise für den jeweiligen Benutzer ...

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