Comment puis-je faire une demande de Http avec Node.js qui est équivalent à ce code:Demande HTTP avec noeud?
curl -X PUT http://localhost:3000/users/1
Comment puis-je faire une demande de Http avec Node.js qui est équivalent à ce code:Demande HTTP avec noeud?
curl -X PUT http://localhost:3000/users/1
Utilisez le http client.
Quelque chose le long de ces lignes:
var http = require('http');
var client = http.createClient(3000, 'localhost');
var request = client.request('PUT', '/users/1');
request.write("stuff");
request.end();
request.on("response", function (response) {
// handle the response
});
var http = require('http');
var client = http.createClient(1337, 'localhost');
var request = client.request('PUT', '/users/1');
request.write("stuff");
request.end();
request.on("response", function (response) {
response.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
});
Pour d'autres googler cette question, la réponse acceptée n'est plus correcte et a été désapprouvée.
La méthode correcte (de cette écriture) est d'utiliser la méthode de http.request comme décrit ici: nodejitsu example
Exemple de code (de l'article ci-dessus, modifié pour répondre à la question):
var http = require('http');
var options = {
host: 'localhost',
path: '/users/1',
port: 3000,
method: 'PUT'
};
callback = function(response) {
var str = '';
//another chunk of data has been recieved, so append it to `str`
response.on('data', function (chunk) {
str += chunk;
});
//the whole response has been recieved, so we just print it out here
response.on('end', function() {
console.log(str);
});
}
http.request(options, callback).end();
Je n'aime pas cet exemple, car il ne fait que se connecter à la console. La partie intéressante/difficile est cependant de traiter la chaîne de réponse (asynchrone) – Sebastian
Je n'aime pas l'exemple, car il ne montre pas comment attacher un objet json au corps du message – joshua
ummmm .... j'aime cet exemple. changer console.log à response.write() n'est pas si difficile (ou intéressant) les gars, et l'OP n'a rien demandé à propos de l'attachement d'un objet json, posez votre propre question si celle-ci ne correspond pas à vos besoins – Landon
quelqu'un a une idée, comment gérer le délai d'attente. Si le serveur ne répond pas dans ce cas? commentez s'il vous plaît. –
maddy