1. 程式人生 > >Node.js http等模塊 筆記05

Node.js http等模塊 筆記05

arc HERE sla std server list ike pass res

一、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' }

未完待續。。。

Node.js http等模塊 筆記05