2

ここのドキュメントに従おうとしています

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

しかし、ユーザー名とパスワードを URL に POST するなどの単純なことを行うためのドキュメントが見つかりません。どうすればいいですか?

4

2 に答える 2

7

node.jsのドキュメントはこれについて特に明確ではありません

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

これは、クエリ文字列を使用して入力を解析し、リクエストを行う方法です。

//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();
于 2012-12-04T12:57:05.630 に答える
4

RESTful APIの使用など、1つのPOST以外のことを行う必要がある場合は、 restlerを確認することをお勧めします。

非常にシンプルなAPIを備えています

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...
  }
});
于 2012-05-06T09:14:26.337 に答える