2012-05-06 23 views
2

私はここNode.js httpクライアントでPOSTするにはどうすればよいですか?

http://nodejs.org/api/http.html

をドキュメントに従うことをしようとしている。しかし、私は、このようなURLにユーザー名とパスワードを掲示するような単純な何かをする上でのドキュメントを見つけることができません。どうすればいい?

+0

または、おそらくsuperagent => https://github.com/visionmedia/superagentをご覧ください。 – Alfred

答えて

4

RESTfulなAPIを使用するなど、1つのPOST以外の処理を行う必要がある場合は、restlerをご覧ください。

これは、Node.jsのドキュメントは、この

http://nodejs.org/api/http.html#http_http_request_options_callback

これは私がクエリ文字列を使用して、要求を作成する方法をである上、特に明確ではありません

var rest = require('restler'); 

rest.post('http://service.com/login', { 
    data: { username: 'foo', password: 'bar' }, 
}).on('complete', function(data, response) { 
    if (response.statusCode == 200) { 
    // you can get at the raw response like this... 
    } 
}); 
7

非常にシンプルなAPIを持っています入力を解析します。

//require a few things. 

var http = require('http'), 
    qs = require('qs'); 

//These are the post options 
var options = { 
    hostname: 'www.mysite.com', 
    port: 80, 
    path: '/auth', 
    method: 'POST' 
}; 
//The postdata can be anything, but I'm using querystring 
//to convert it into the format 
//username=User&password=Password to be easily parsed in php 

var postdata = qs.stringify({ 
    username:"User", 
    password:"Password" 
}); 

//Initialise the variable that will store the response 
var body=''; 


//Now we're going to set up the request and the callbacks to handle the data 
var request = http.request(options, function(response) { 
    //When we receive data, we want to store it in a string 
    response.on('data', function (chunk) { 
     body += chunk; 
    }); 
    //On end of the request, run what we need to 
    response.on('end',function() { 
     //Do Something with the data 
     console.log(body); 
    }); 
}); 

//Now we need to set up the request itself. 
//This is a simple sample error function 
request.on('error', function(e) { 
    console.log('problem with request: ' + e.message); 
}); 


//Write our post data to the request 
request.write(postdata); 
//End the request. 
request.end(); 
関連する問題