Node中的Http模塊和Url模塊的使用


場景

如果我們編寫后端的代碼時,需要Apache 或者Nginx 的HTTP 服務器,
來處理客戶端的請求相應。不過對Node.js 來說,概念完全不一樣了。使用Node.js 時,
我們不僅僅在實現一個應用,同時還實現了整個HTTP 服務器。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。

實現

有了node,我們任何一個js 文件,都可以通過node 來運行。也就是說,node 就是一個js 的執行環境。

Node.js 中,將很多的功能,划分為了一個個module(模塊)。Node.js 中的很多功能都是通過模塊實現。

HTTP模塊的使用

首先新建一個目錄,再次目錄下新建app.js

const http = require('http');

/*
    req   獲取客戶端傳過來的信息
    res  給瀏覽器響應信息
*/

http.createServer((req,res)= >{

    console.log(req.url);  //獲取url

    //設置響應頭
    //狀態碼是 200,文件類型是 html,字符集是 utf-8
    res.writeHead(200,{"Content-type":"text/html;charset='utf-8'"}); //解決亂碼

    res.write("<head> <meta charset='UTF-8'></head>");  //解決亂碼

    res.write('公眾號:霸道的程序猿');

    res.write('<h2>公眾號:霸道的程序猿</h2>');

    res.end();  //結束響應

}).listen(3000);

 

然后在此目錄下打開cmd

node app.js

 

這樣一個簡單的http創建web服務就實現了。

打開瀏覽器,輸入

http://localhost:3000/

 

 

URL模塊的使用

首先通過

const url=require('url');

 

引入url模塊

url.parse

解析url

怎樣獲取請求的參數

在目錄下新建url.js

const url=require('url');

var api='https://blog.csdn.net/BADAO_LIUMANG_QIZHI?name=zhangsan&age=20';

 

console.log(url.parse(api,true));

var getValue=url.parse(api,true).query;

console.log(getValue);

console.log(`姓名:${getValue.name}--年齡:${getValue.age}`);

 

然后在終端中輸入

node url.js

 

 

Http模塊與URL模塊結合使用

在目錄下新建httpUrl.js

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

/*
    req   獲取客戶端傳過來的信息
    res  給瀏覽器響應信息
*/

http.createServer((req,res)=>{

    //http://localhost:3000/?name=badao&age=24  想獲取url傳過來的name 和age

    //設置響應頭
    //狀態碼是 200,文件類型是 html,字符集是 utf-8
    res.writeHead(200,{"Content-type":"text/html;charset='utf-8'"}); //解決亂碼

    res.write("<head> <meta charset='UTF-8'></head>");  //解決亂碼   

    console.log(req.url);   //獲取瀏覽器訪問的地址

    if(req.url!='/favicon.ico'){

        var userinfo=url.parse(req.url,true).query;
        
        console.log(`姓名:${userinfo.name}--年齡:${userinfo.age}`);
    }

    res.end('你好nodejs');  //結束響應

}).listen(3000);

 

然后打開終端輸入:

node httpUrl.js

 

打開瀏覽器輸入:

http://localhost:3000/?name=badao&age=24

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM