ad

2012年11月8日木曜日

Node.jsでGETしてみる

なぜかスモールスタートなソースコードが見つからないのはJavascriptと同じか.

なぜか人様のブログの解読さえ難しく感じたので,Node.jsでGET処理をしてみた.
参考ココ→ Node.js マニュアル
更にコード的にはコチラを途中で参考にさせて頂いた.


コード的にはコチラ.
これは実行するとGET通信でGoogleに検索クエリを送るもの.
ファイル名:getTest.js
//お決まりのrequire.ここら辺PHPっぽい気も…
var http = require('http');

//http.requestの第1引数設定.Googleにq=検索ワードを送る.
//port,methodはデフォルト設定だけど,一応指定.
//headersでuser-agent入れておかないと,怒られた.
var options = { 
  host: 'www.google.com',
  port: 80,
  path: '/search?q=at4esnote',
  method: 'GET',
  headers:{
    'user-agent' : 'Mozilla/4.7 [ja]C-{C-UDP; EBM-SONY2}',
  }

};

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);
  });
});

req.on('error', function(e){
  console.log('problem with request: ' + e.message);
});

req.write('data');
req.write('data');
req.end();

保存して実行
node getTest.js⏎

コンソール上に「BODY:〜〜」とGoogle検索結果ページが吐き出されたのを確認.
取り敢えずGET処理は出来た.…
分からない事大杉

req.write()を2回読んでるのはマニュアル通りなのだが,
これってCOBOLと一緒だけど,同じ意味合いw?  





追記:ブレイクスルー来ました
ブラウザで見れる形さえ分かれば,一気かもしれない.
以下のコード,参考は以前書いたコレです。
var http = require('http');

http.createServer( function(req.res){
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.end(
    '<form method="GET" action="http://www.google.com/search">'
    + '<div> google! </div>'
    + '<input type="text" name="q">'
    + '<div> <input type="submit"></div>'
    + '</form>'
  );
}).listen(8080);



ポート8080をブラウザで開いて(http://localhost:8080/),
テキストボックスに単語を入れて,ボタンを押して,
Googleで検索出来ればOK!
後でまとめ直そうかな…

0 件のコメント:

コメントを投稿