Node.js GET請求

weixin_34236869發表於2018-04-26

util.inspect

util.inspect(object,[showHidden],[depth],[colors])是一個將任意物件轉換 為字串的方法,通常用於除錯和錯誤輸出。它至少接受一個引數 object,即要轉換的物件。

showHidden 是一個可選引數,如果值為 true,將會輸出更多隱藏資訊。

depth 表示最大遞迴的層數,如果物件很複雜,你可以指定層數以控制輸出資訊的多 少。如果不指定depth,預設會遞迴2層,指定為 null 表示將不限遞迴層數完整遍歷物件。 如果color 值為 true,輸出格式將會以ANSI 顏色編碼,通常用於在終端顯示更漂亮 的效果。

特別要指出的是,util.inspect 並不會簡單地直接把物件轉換為字串,即使該對 象定義了toString 方法也不會呼叫。

var util = require('util');

function Person() {

    this.name = 'byvoid';

    this.toString = function() {

    return this.name;

    };

}

var obj = new Person();

console.log(util.inspect(obj));

console.log(util.inspect(obj, true));

執行結果是:

Person { name: 'byvoid', toString: [Function] }

Person {

  name: 'byvoid',

  toString:

  { [Function]

    [length]: 0,

    [name]: '',

    [arguments]: null,

    [caller]: null,

    [prototype]: { [constructor]: [Circular] } } }

獲取GET請求內容

由於GET請求直接被嵌入在路徑中,URL是完整的請求路徑,包括了?後面的部分,因此你可以手動解析後面的內容作為GET請求的引數。

node.js 中 url 模組中的 parse 函式提供了這個功能。

例項

var http = require('http');

var url = require('url');

var util = require('util');

http.createServer(function(req, res){

    res.writeHead(200, {'Content-Type': 'text/plain; charset=utf-8'});

    res.end(util.inspect(url.parse(req.url, true)));

}).listen(3000);

在瀏覽器中訪問 http://localhost:3000/user?name=菜鳥教程&url=www.runoob.com 然後檢視返回結果:


6878902-500366d34530903a.png

獲取 URL 的引數

我們可以使用 url.parse 方法來解析 URL 中的引數,程式碼如下:

例項

var http = require('http');

var url = require('url');

var util = require('util');

http.createServer(function(req, res){

    res.writeHead(200, {'Content-Type': 'text/plain'});

    // 解析 url 引數

    var params = url.parse(req.url, true).query;

    res.write("網站名:" + params.name);

    res.write("\n");

    res.write("網站 URL:" + params.url);

    res.end();

}).listen(3000);

在瀏覽器中訪問 http://localhost:3000/user?name=菜鳥教程&url=www.runoob.com 然後檢視返回結果:


6878902-d356de96f68065b8.png

相關文章