Запрос Http с node?
Как сделать запрос Http с node.js, который эквивалентен этому коду:
curl -X PUT http://localhost:3000/users/1
Ответы
Ответ 1
Используйте http client.
Что-то в этом роде:
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
});
Ответ 2
Для других пользователей, задающих этот вопрос, принятый ответ больше не является правильным и устарел.
Правильный метод (с момента написания) заключается в использовании метода http.request, как описано здесь: пример nodejitsu
Пример кода (из приведенной выше статьи, измененной для ответа на вопрос):
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();
Ответ 3
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);
});
});