欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Node.js中的HTTP模塊與URL模塊

 更新時間:2022年07月06日 10:32:44   作者:社會主義接班人  
這篇文章介紹了Node.js中的HTTP模塊與URL模塊,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

幾乎每門編程語言都會包括網(wǎng)絡(luò)這塊,Node.js也不例外。今天主要是熟悉下Node.js中HTTP服務(wù)。其實HTTP模塊是相當?shù)蛯哟蔚?,它不提供路由、cookie、緩存等,像Web開發(fā)中不會直接使用,但還是要熟悉下,這樣也方便以后的學(xué)習(xí)。

統(tǒng)一資源標識符URL

這個是非常常見的,在Node.js中有幾種處理。

http://user:pass@host.com:80/resource/path/?query=string#hash

協(xié)議://身份認證@主機名.com:端口/路徑/搜索/查詢#散列

在URL模塊中可以URL定義的屬性和方法

exports.parse = urlParse;
exports.resolve = urlResolve;
exports.resolveObject = urlResolveObject;
exports.format = urlFormat;

exports.Url = Url;

function Url() {
  this.protocol = null;
  this.slashes = null;
  this.auth = null;
  this.host = null;
  this.port = null;
  this.hostname = null;
  this.hash = null;
  this.search = null;
  this.query = null;
  this.pathname = null;
  this.path = null;
  this.href = null;
}

上面代碼可以看到URL模塊定義了protocol、slashes等這些屬性,還有parse、resolve 等方法.

1、URL字符串轉(zhuǎn)URL對象 parse

/**
 * Created by Administrator on 2016/3/26.
 */
var url=require('url');
var urlStr='http://user:pass@host.com:80/rseource/path?query=string#hash';
//parse(urlStr,[parseQueryString],[slashesDenoteHost])
//parseQueryString 布爾值 true:URL查詢字符串部分解析為對象字面量默認false
//slashesDenoteHost 布爾值 true:把格式為//host/path的URL解析為:{host:'host',pathname:'/path'},而不是{pathname:'//host/path'} 默認false
var urlObj=url.parse(urlStr,true,false);
console.log(urlObj);

輸出結(jié)果:

"C:\Program Files (x86)\JetBrains\WebStorm 11.0.3\bin\runnerw.exe" F:\nodejs\node.exe URL.js
Url {
  protocol: 'http:',
  slashes: true,
  auth: 'user:pass',
  host: 'host.com:80',
  port: '80',
  hostname: 'host.com',
  hash: '#hash',
  search: '?query=string',
  query: { query: 'string' },
  pathname: '/rseource/path',
  path: '/rseource/path?query=string',
  href: 'http://user:pass@host.com:80/rseource/path?query=string#hash' }

Process finished with exit code 0

2.URL重定向resolve

有時候請求的url和實際的物理地址并不一樣,這就要進行虛擬地址和物理地址的轉(zhuǎn)換。

var url=require('url');
var originalUrl='http://user:pass@host.com:80/rseource/path?query=string#hash';
var newResource='/another/path?querynew';
console.log(url.resolve(originalUrl,newResource));

輸出結(jié)果:

"C:\Program Files (x86)\JetBrains\WebStorm 11.0.3\bin\runnerw.exe" F:\nodejs\node.exe URL.js
http://user:pass@host.com:80/another/path?querynew

Process finished with exit code 0

3.處理查詢字符串和表單參數(shù)

在做web開發(fā)中常常需要向服務(wù)端get 、post請求,請求的時候可能會帶一些參數(shù),需要對參數(shù)進行處理.比如:查詢字符串轉(zhuǎn)js對象或js對象轉(zhuǎn)字符串。

這里要用到queryString模塊的parse()和stringify()函數(shù)。

var qString=require('querystring')
//QueryString.parse = QueryString.decode = function(qs, sep, eq, options)
//1.qs 字符串
//2.sep 使用的分隔符 默認&
//3.ep 使用的運算符 默認=
//4.一個具有maxKey屬性的對象 能夠限制生成的對象可以包含的鍵的數(shù)量默認1000,0則無限制
var  params=qString.parse("name=cuiyanwei&color=red&color=blue");
console.log(params);
//QueryString.stringify = QueryString.encode = function(obj, sep, eq, options)
console.log(qString.stringify(params,"&","="));

輸出結(jié)果:

"C:\Program Files (x86)\JetBrains\WebStorm 11.0.3\bin\runnerw.exe" F:\nodejs\node.exe URL.js
{ name: 'cuiyanwei', color: [ 'red', 'blue' ] }
name=cuiyanwei&color=red&color=blue

Process finished with exit code 0

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Express進階之log4js實用入門指南

    Express進階之log4js實用入門指南

    本篇文章主要介紹了Express進階之log4js實用入門指南,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • 學(xué)習(xí)node.js 斷言的使用詳解

    學(xué)習(xí)node.js 斷言的使用詳解

    這篇文章主要介紹了學(xué)習(xí)node.js 斷言的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 淺談如何通過node.js對數(shù)據(jù)進行MD5加密

    淺談如何通過node.js對數(shù)據(jù)進行MD5加密

    本篇文章將主要針對于在NODE.JS中如何對數(shù)據(jù)進行MD5加密,MD5是一種常用的哈希算法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Express.js 全局錯誤處理實現(xiàn)

    Express.js 全局錯誤處理實現(xiàn)

    本文主要介紹了Express.js 全局錯誤處理實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 使用node搭建自動發(fā)圖文微博機器人的方法

    使用node搭建自動發(fā)圖文微博機器人的方法

    這篇文章主要介紹了使用node搭建自動發(fā)圖文微博機器人的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Node.js自定義對象事件的監(jiān)聽與發(fā)射

    Node.js自定義對象事件的監(jiān)聽與發(fā)射

    這篇文章介紹了Node.js自定義對象事件監(jiān)聽與發(fā)射的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 關(guān)于node-bindings無法在Electron中使用的解決辦法

    關(guān)于node-bindings無法在Electron中使用的解決辦法

    今天小編就為大家分享一篇關(guān)于關(guān)于node-bindings無法在Electron中使用的解決辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • node.js版本管理工具n無效的原理和解決方法

    node.js版本管理工具n無效的原理和解決方法

    大家都知道在Centos中一般需要根據(jù)項目的環(huán)境安裝指定版本的Node, 而現(xiàn)有的yum源版本一般不夠全面也不一定找的到所需要的指定版本, 此時就必須自行下載Node源碼進行編譯安裝了,如果你在使用node.js版本管理工具n的時候發(fā)現(xiàn)工具無效,下面就來看看這篇文章的解決方法吧。
    2016-11-11
  • windows系統(tǒng)下安裝yarn的詳細教程

    windows系統(tǒng)下安裝yarn的詳細教程

    yarn是一個新的JS包管理工具,它的出現(xiàn)是為了彌補npm的一些缺陷,下面這篇文章主要給大家介紹了關(guān)于windows系統(tǒng)下安裝yarn的詳細教程,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • Nodejs 中文分詞常用模塊用法分析

    Nodejs 中文分詞常用模塊用法分析

    這篇文章主要介紹了Nodejs 中文分詞常用模塊用法,結(jié)合具體案例形式分析了node.js常用分詞模塊的基本功能、用法、效率與相關(guān)使用特點,需要的朋友可以參考下
    2023-05-05

最新評論