web-dev-qa-db-fra.com

POST: envoyer une demande de publication dans une URL elle-même

On m'a donné une URL .. www.abc.com/details et a demandé d'envoyer mon nom et mon numéro de téléphone sur cette URL à l'aide de POST. Ils m'ont dit de définir le type de contenu comme application/json et le corps comme JSON valide avec les clés suivantes:

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

Maintenant, je ne sais pas comment envoyer cette demande! Sera-ce quelque chose comme:

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

ou dois-je utiliser Java pour envoyer la même chose?

Veuillez aider

21
Chandeep

Sur la base de ce que vous avez fourni, c'est assez simple pour ce que vous devez faire et vous avez même un certain nombre de façons de le faire. Vous aurez besoin de quelque chose qui vous permettra de poster un corps avec votre demande. Presque n'importe quel langage de programmation peut le faire ainsi que des outils de ligne de commande comme cURL.

Une fois que vous avez décidé de votre outil, vous devrez créer votre corps JSON et le soumettre au serveur.

Un exemple utilisant cURL serait (tout en une seule ligne, moins le \ à la fin de la première ligne):

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

La commande ci-dessus créera une demande qui devrait ressembler à ceci:

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

{"name":"your name","phonenumber":"111-111"}
31
Joshua

Vous pouvez publier des données dans une URL avec JavaScript et Jquery quelque chose comme ça:

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

Dans Windows, cette commande ne fonctionne pas pour moi .. J'ai essayé la commande suivante et cela fonctionne .. en utilisant cette commande, j'ai créé une session dans la manière de la porte de synchronisation couchdb pour l'utilisateur spécifique ...

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

Il n'est pas possible d'envoyer des paramètres POST dans l'URL de manière directe. POST signifie en soi l'envoi d'informations dans le corps).

J'ai trouvé un moyen assez simple de le faire. Utilisez Postman by Google, qui vous permet de spécifier le type de contenu (un champ d'en-tête) en tant qu'application/json, puis de fournir des paires nom-valeur en tant que paramètres.

Vous pouvez trouver des instructions claires sur http://docs.brightcove.com/en/video-cloud/player-management/guides/postman.html

Utilisez simplement votre URL à la place de la leur.

J'espère que ça aide

2
Brindha

Vous pouvez utiliser le facteur.

Où sélectionnez Publier comme méthode. et dans le corps de la demande, envoyer l'objet JSON.

1
Richa Agrawal