Question

Je dois faire une application cliente nodejs qui peut envoyer une requête POST à ??l'API YAHOO Placemaker. J'ai passé 1 jour sur cela sans succès jusqu'à présent. Je vois les paquets http dans Wireshark et il ne se plaint pas non plus.

Je suis en utilisant le code suivant:

var http = require('http');

var options = {
        host: 'wherein.yahooapis.com',
        port: 80,
        path: '/v1/document',
        method: 'POST'
};

var req = http.request(options, function(res) {
  console.log('STATUS: ' + res.statusCode);
  console.log('HEADERS: ' + JSON.stringify(res.headers));
//  res.setEncoding('utf8');
  res.on('data', function (chunk) {
    console.log('BODY: ' + chunk);
  });
});
// write data to request body
//req.end('documentURL=http://www.usfca.edu&documentType=text/html&outputType=xml&appid=MrIhH33V34GNOpw91rqJuijGeiLQ7l4hhlJXXt3fOTS0.jAUY8kqhu6SxMhy7J90OSWElw--');
req.write('documentURL%3Dhttp%3A//www.usfca.edu%26documentType%3Dtext/html%26outputType%3Dxml%26appid%3DMrIhH33V34GNOpw91rqJuijGeiLQ7l4hhlJXXt3fOTS0.jAUY8kqhu6SxMhy7J90OSWElw--');
req.end();

Je fais la même chose en php et il y travaille. Toutes les suggestions sont appréciés. Des problèmes similaires se sont produits lorsque j'ai essayé de lancer mon propre serveur sur express.js. D'une certaine manière le code ci-dessus ne produit pas la requête HTTP correcte. Mais l'extrait ci-dessus est directement tirée de la documentation NodeJS

S'il vous plaît Aide !!

je reçois le code de réponse HTTP 400 disant ne DocumentUrl Nore DocumentContent pas trouvé!

  • Lalith
Était-ce utile?

La solution

Envisagez d'utiliser bibliothèque de demande de Mikeal pour simplifier votre vie et éviter tout problème étrange:

npm install request

En chemin, dans # Node.js et poser des questions pour un une réponse plus rapide. Assurez-vous de rapport avec vos résultats.

Autres conseils

http Node.js demande ne génère pas le type de contenu d'en-tête approprié, donc il suffit d'ajouter manuellement. Vous n'avez pas besoin express jusqu'à présent ...

var options = {
    host: 'wherein.yahooapis.com',
    port: 80,
    method: 'POST',
    path: '/v1/document',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
    }
};
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top