1. 程式人生 > >Node.js http伺服器搭建和傳送http的get,post請求

Node.js http伺服器搭建和傳送http的get,post請求

1.Node.js 搭建http伺服器

1.1建立server.js

var http = require('http');
var querystring = require('querystring');
http.createServer(function (request, response) {
    console.log('receive request');
    response.writeHead(200, { 'Content-Type': 'text-plain' });
    response.end('Hello World\n');
}).listen(8124
); console.log("node server start ok port "+8124);

1.2執行 server.js

node server.js

1.3伺服器啟動

如圖:
這裡寫圖片描述

這裡寫圖片描述

2.傳送GET請求

2.1傳送get請求通過聚合伺服器獲取微信新聞資料

var http = require('http');

var querystring = require('querystring');

http.get('http://v.juhe.cn/weixin/query?key=f16af393a63364b729fd81ed9fdd4b7d&pno=1&ps=10'
, function (response) { var body = []; console.log(response.statusCode); console.log(response.headers); console.log(response); response.on('data', function (chunk) { body.push(chunk); }); response.on('end', function () { body = Buffer.concat(body); console.log(body.toString()); }); });

2.2 執行 get_demo.js

node get_demo.js

2.3獲取的結果列印

這裡寫圖片描述

3.傳送POST請求

3.1傳送post請求通過聚合伺服器獲取微信聞資料

var http = require('http');

var querystring = require('querystring');

var postData = querystring.stringify({
  'key' : 'f16af393a63364b729fd81ed9fdd4b7d',
  'pno':'1',
  'ps':10
});

var options = {
  hostname: 'v.juhe.cn',
  path: '/weixin/query',
  method: 'POST',
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
    'Content-Length': Buffer.byteLength(postData)
  }
};

var req = http.request(options, (res) => {
  console.log(`STATUS: ${res.statusCode}`);
  console.log(`HEADERS: ${JSON.stringify(res.headers)}`);
  res.setEncoding('utf8');
  res.on('data', (chunk) => {
    console.log(`BODY: ${chunk}`);
  });
  res.on('end', () => {
    console.log('No more data in response.')
  })
});

req.on('error', (e) => {
  console.log(`problem with request: ${e.message}`);
});

// write data to request body
req.write(postData);
req.end();

3.2 執行 post_demo.js

node post_demo.js

3.3獲取的結果列印

這裡寫圖片描述