Node.js http等模块 笔记05

一、http模块

const http = require('http');
http.createServer((req,res)=>{
    //1 设置响应头
    res.writeHead(200,{'content-type': 'text/html; charset=utf-8'});

    // 2 设置响应内容
    res.write('<h1>there is a way</h1>');
    res.end('<h2>always like this!</h2>')

}).listen(3000,'127.0.0.1');

get 请求:

const http = require('http');
const url = require('url');
const util = require('util');
http.createServer((req,res)=>{
    // 1 设置响应头
    res.writeHead(200,{'content-type': 'text/html; charset=utf-8'});
    // 2. 利用url模块去解析客户端发送过来的URL
    res.write(req.url);
    res.write('--------------------------')
    res.write(util.inspect(url.parse(req.url,true)));
    res.end();
}).listen(3000,'127.0.0.1');

/*
访问:http://localhost:3000/getName&a=123&b=456
结果页面显示:
/getName&a=123&b=456
--------------------------
Url { protocol: null, slashes: null, auth: null, host: null, port: null, hostname: null, hash: null, search: null, query: {}, pathname: '/getName&a=123&b=456', path: '/getName&a=123&b=456', href: '/getName&a=123&b=456' }
* */

post请求:

/*const http = require('http');
http.createServer((req,res)=>{
    //1 设置响应头
    res.writeHead(200,{'content-type': 'text/html; charset=utf-8'});

    // 2 设置响应内容
    res.write('<h1>there is a way</h1>');
    res.end('<h2>always like this!</h2>')

}).listen(3000,'127.0.0.1');*/


/*
const http = require('http');
const url = require('url');
const util = require('util');
http.createServer((req,res)=>{
    // 1 设置响应头
    res.writeHead(200,{'content-type': 'text/html; charset=utf-8'});
    // 2. 利用url模块去解析客户端发送过来的URL
    res.write(req.url);
    res.write('--------------------------')
    res.write(util.inspect(url.parse(req.url,true)));
    res.end();
}).listen(3000,'127.0.0.1');

/!*
访问:http://localhost:3000/getName&a=123&b=456
结果页面显示:
/getName&a=123&b=456
--------------------------
Url { protocol: null, slashes: null, auth: null, host: null, port: null, hostname: null, hash: null, search: null, query: {}, pathname: '/getName&a=123&b=456', path: '/getName&a=123&b=456', href: '/getName&a=123&b=456' }
* *!/*/

const http = require('http');
const url = require('url');
const util = require('util');
const querystring = require('querystring');

http.createServer((req, res)=>{
    let postData = '';
    // 监听post 过来数据,然后存入到 postData 里
    req.on('data', (chunk)=>{
        postData += chunk;
    });
    req.on('end', ()=>{
        console.log(postData);
        // parse这个方法是将一个字符串反序列化为一个对象。
        // 可以将user=gudon&pwd=123456 反序列化为 { user: 'gudon', pwd: '123456' }
        postData = querystring.parse(postData);
        //util.inspect()将任意对象转换为字符串的方法,通常用于调试和错误输出。
        res.end(util.inspect(postData));
    });
}).listen(3000, '127.0.0.1');

// 访问:html端post表单提交  username gudon,password为123456
// 服务端打印:user=gudon&pwd=123456
// 浏览器:{ user: 'gudon', pwd: '123456' }

未完待续。。。

猜你喜欢

转载自www.cnblogs.com/friday69/p/10142711.html