Node.js GET请求

2018-04-26  本文已影响10人  ElfACCC

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 然后查看返回结果:

获取 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 然后查看返回结果:

上一篇下一篇

猜你喜欢

热点阅读