web-dev-qa-db-fra.com

Envoi POST les paramètres avec Postman ne fonctionnent pas, mais l'envoi de paramètres GET ne fonctionne pas.

J'essaie de tester une simple page PHP à l'aide de l'extension de chrome Postman. Lorsque j'envoie des paramètres d'URL, le script fonctionne correctement (par exemple, les variables sont disponibles dans le paramètre $_REQUEST). Lorsque je les envoie en tant que paramètres x-www-form-urlencoded, le paramètre $_REQUEST contient uniquement la variable PHPSESSID.

Le scénario:

<?php
var_export($_REQUEST);
?>

Lorsque j'envoie des paramètres d'URL, $_REQUEST les inclut: URL parameters

Mais lorsque je les envoie sous la formePOSTvariables, $_REQUEST ne les inclut pas: enter image description here

Qu'est-ce que je rate?

54
whiterook6

Je réglais l'URL dans Postman sur http:// mais Apache redirigeait sur https:// et les variables POST ont été supprimées en cours de route.

Après que je l'ai changé en https://, les variables POST ont fonctionné correctement.

Voir aussi: https://stackoverflow.com/a/28461500/704803

43
andrewtweber

J'ai rencontré le même problème dans PostMan et Advance REST Client. J'ai vérifié auprès de fiddler et j'ai constaté que la charge de ma requête n'était pas convertie au format JSON.

Je transmets mes données dans Body en tant que x-www-form-urlencoded enter image description here

Vous pouvez le réparer en utilisant Type de contenu comme application/x-www-form-urlencoded dans l'en-tête de la demande .  enter image description here

69
Arvind Dhasmana

Utilisez simplement le Body Tab et entrez le post parameters à cet endroit. Notez que Body Tab est désactivé si Get est sélectionné.

Tutoriel avec captures d'écran .

17
AndroidLearner

Vérifiez votre type de contenu dans l'en-tête. J'avais un problème avec cet envoi de JSON brut et mon type de contenu en tant qu'application/json dans l'en-tête POSTMAN.

mon php voyait jack tout dans le post de demande. Ce n’est que lorsque j’ai remplacé le type de contenu par Application/x-www-form-urlencoded avec le JSON dans RAW textarea et son type, JSON, mon PHP application at-elle commencé à voir le message Les données. Pas ce à quoi je m'attendais quand je traite de json brut, mais ça marche maintenant pour ce dont j'ai besoin.

postman POST request

12
mushcraft

Modifier

Lorsque vous envoyez des paramètres par x-www-form-urlencoded, vous devez définir l'en-tête de la demande comme suit: Content-Type en tant que application/x-www-form-urlencoded.

5
Satish Shinde

J'avais le même problème. Pour résoudre ce problème, j'ai ajouté les en-têtes suivants:

Content-Type: application/json

J'ai dû ajouter manuellement le type de contenu même si j'avais également le type "json" dans les paramètres de champ de publication bruts.

3
John O'Connor

Désolé s'il s'agit du fil Necromancy, mais cela est toujours d'actualité, en particulier avec la quantité d'API utilisées!

Un de mes problèmes était: je ne savais pas que sous la colonne 'Key' 'vous deviez mettre:' Content-Type '; Je pensais que c'était une clé d'utilisateur pour quand il est revenu dans la demande, ce qui n'est pas le cas. 

Donc, quelque chose d'aussi simple que cela puisse vous aider, je pense que Postman pourrait mieux écrire cette colonne dans Word, car je n'ai même pas eu à lire la documentation sur l'utilisation de Fiddler; alors que je l'ai fait avec Postman.

 Postman picture

0
Lee

Pour moi, le serveur était attendu par les requêtes HTTPS, mais je ne l’ai pas précisé dans l’URL. Le hook atteindrait le serveur, mais le corps serait vide. 

0
user2229618

Parfois, problème de version dans 'Postman':

J'ai face au même problème. Lors de l'envoi des données en utilisant la version la plus ancienne de postman.
Cette fois, j'ai reçu les données JSON vides côté serveur.
Et J'ai résoudre ce problème , Une fois que j'ai désinstallé la version la plus ancienne de Postman et installé avec la dernière version. 

0
Mohammed Yasin