Ma boucle POST obtient “Réponse vide du serveur”

Je suis ce guide:

http://lua-programming.blogspot.co.uk/

Je suis à la partie où j’ai besoin de créer mon API. J’ai déjà utilisé kong et j’ai créé un script pour créer un api. Le problème est que je ne peux pas créer une API. Mon script est littéralement un API barebone qui ne possède pas de plug-ins (vous voulez créer une api en premier):

curl -X POST --url http://localhost:8001/apis/ --data 'name=mock' --data 'upstream_url=https://mockbin.com' --data 'request_host=mockbin.com';

Chaque fois que je lance cette commande, je reçois une curl: (52) Empty reply from server erreur curl: (52) Empty reply from server mais quand je curl -X GET --url http://localhost:8001/apis , cela me dit combien de fois j’ai actuellement ( qui est 0) alors sûrement il n’y a rien de mal avec le serveur, non?

J’ai installé Cassandra et Kong localement. Des idées?

Lorsque vous obtenez l’erreur 52, cela signifie littéralement “Vider la réponse du serveur”. Lorsqu’un client (comme curl) parle HTTP à un serveur, ce serveur doit renvoyer quelque chose pour qu’il devienne un HTTP légitime. Du sharepoint vue du protocole, il n’y a aucun moyen d’être conforme et de ne rien répondre.

Erreur 52 signifie que le serveur a fait exactement cela. Il n’a pas répondu avec un seul octet de données (et a ensuite fermé la connexion). Aucun serveur en bonne santé ne devrait le faire.

Parfois, vous pouvez déclencher cette action par un serveur lorsque vous envoyez quelque chose que le serveur n’aime pas, mais il s’agit néanmoins d’un problème de serveur. Vous pouvez parfois éviter cette erreur en n’envoyant pas ce qui déclenche l’erreur du serveur, mais cela peut être difficile, voire difficile à déterminer.

La cause la plus fréquente de ce problème réside dans le fait qu’il n’ya pas réellement de serveur HTTP qui écoute sur l’hôte ou le numéro de port donné!

La question est trop ancienne mais je vais y répondre quand même.

Oui! le serveur est opérationnel et le problème est lié à la syntaxe de la requête elle-même. Vous devez passer l’en Content-Type tête Content-Type , coller tous vos payloads ensemble et faire du JSON:

 curl -X POST --url http://localhost:8001/apis/ --data {"name": "mock", "upstream_url": "https://mockbin.com", "request_host": "mockbin.com"} -H "Content-Type: application/json" 

J’espère que cela fonctionne bien pour vous.