http模块内部封装了http服务器和客户端,因此Node.js不需要借助Apache.IIS.Nginx.Tomcat等传统HTTP服务器,就可以构建http服务器,亦可以用来做一些爬虫.下面简单介绍该模块的使用,其具体API,大家可以自行去nodejs官方文档查看. 1.http.Server服务器 使用http.createServer([requestListener])方法创建一个http服务器,该方法返回一个新的http.Server实例,如果指定了requestListener,则…
后端Nodejs(利用node-xlsx模块) /** * Created by zh on 16-9-14. */ var xlsx = require("node-xlsx"); var list = xlsx.parse("/home/zh/桌面/API_BTN_DS2_zh_excel_v2.xlsx"); console.log(list[2]['name']); for(var rowid in list[2]['data']){ row=list[2]…
var zipper = require("zip-local"); zipper.sync.zip("./folder").compress().save("./target.zip");…
关于Nodejs的多进程模块Cluster   前述 我们都知道nodejs最大的特点就是单进程.无阻塞运行,并且是异步事件驱动的.Nodejs的这些特性能够很好的解决一些问题,例如在服务器开发中,并发的请求处理是个大问题,阻塞式的函数会导致资源浪费和时间延迟.通过事件注册.异步函数,开发人员可以提高资源的利用率,性能也会改善.既 然Node.js采用单进程.单线程模式,那么在如今多核硬件流行的环境中,单核性能出色的Nodejs如何利用多核CPU呢?创始人Ryan Dahl建议,运行多个Node…
Nodejs中cluster模块的多进程共享数据问题 前述 nodejs在v0.6.x之后增加了一个模块cluster用于实现多进程,利用child_process模块来创建和管理进程,增加程序在多核CPU机器上的性能表现.本文将介绍利用cluster模块创建的多线程如何共享数据的问题. 进程间数据共享 首先举个简单的例子,代码如下: var cluster = require('cluster'); var data = 0;//这里定义数据不会被所有进程共享,各个进程有各自的内存区域 if…
收集了NodeJS开发中经常使用的一些模块. MVC框架 - Express Express 是轻量灵活的Nodejs Web应用框架.它能够高速地搭建站点. Express框架建立在Nodejs内置的Http模块上,并对Http模块再包装.从而实际Web请求处理的功能.它支持多种前端模板,如Jade, EJS等.它是T.J大神的作品,只是已经交由其他团队维护了. Koa是T.J大神的另外一个作品,号称下一代NodeJS web框架.使用 koa 编写 web 应用.通过组合不同的 genera…
最近比较喜欢用Node.js做一些简单的应用,一直想要部署到生产环境中,但是手上只有一台windows server 2008服务器,并且已经开启了IIS服务,运行了很多.Net开发的网站,80端口已经被占用了. 起初是想用nginx来作为web服务器监听80端口,将所有web访问转发到对应的IIS和node,但由于已运行的老站点众多,如此配置实在需要大量的精力,于是突发奇想,能不能直接利用IIS来托管node服务呢?进过一番搜索之后发现了iisnode模块,可以很轻松的解决这个问题.下面就把实…
nodejs利用ajax实现网页无刷新上传图片 标签(空格分隔): nodejs 通常情况下上传图片是要通过提交form表单来实现的,但是这又不可避免的产生了网页转. 利用ajax技术和FormData()对象可以有效的解决这个问题 废话不多说 直接上关键代码: html部分 <div class="form-group"> <label>File input</label> <input type="file" name=…
using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> ///GetBank 的摘要说明 /// </summary> public class GetBank {     //bin号     private long[] bankbin()     {         long[] str = new long[]{ 102033, 10…
geo指令使用ngx_http_geo_module模块提供的.默认情况下,nginx有加载这个模块,除非人为的 --without-http_geo_module.ngx_http_geo_module模块可以用来创建变量,其值依赖于客户端IP地址.geo指令语法: geo [$address] $variable { ... }默认值: -配置段: http定义从指定的变量获取客户端的IP地址.默认情况下,nginx从$remote_addr变量取得客户端IP地址,但也可以从其他变量获得.例…
在nodejs中,模块大概可以分为核心模块和文件模块. 核心模块是被编译成二进制代码,引用的时候只需require表示符即可,如(require('net')). 文件模块,则是指js文件.json文件或者是.node文件.在引用文件模块的时候后要加上文件的路径:/.../.../xxx.js表示绝对路径../xxx.js表示相对路径(同一文件夹下的xxx.js),../表示上一级目录.如果既不加/.../.../又不加./的话,则该模块要么是核心模块,要么是从一个node_modules文件夹…
nginx利用limit模块设置IP并发防CC攻击 分类: 系统2013-01-21 09:02 759人阅读 评论(0) 收藏 举报 来源:http://blog.xencdn.net/nginx-limit-conn-how-to/ http://bbs.linuxtone.org/forum.php?mod=viewthread&tid=21954&extra=page%3D1%26filter%3Dtypeid%26typeid%3D1%26typeid%3D1 nginx利用li…
使用nodejs的net模块创建TCP服务器 laiqun@msn.cn Contents 1. 代码实现 2. 使用telnet连接服务器测试 3. 创建一个TCP的client 1. 代码实现 ; const HOST = '127.0.0.1'; var net = require('net'); var clientHandler = function(socket){ console.log('someon connected'); socket.on('data',function…
使用nodejs的http模块创建web服务器 laiqun@msn.cn Contents 1. web服务器基础知识 2. Node.js的Web 服务器 3. 代码实现 1. web服务器基础知识 接受HTTP请求(GET POST DELETE PUT PATCH HEAD) 处理HTTP请求(自己处理,或者请求别的程序处理CGI) 做出响应(返回页面.文件.各类数据等) 常见的web服务器架构: Nginx/Apache:负责接受HTTP请求,确定谁来处理请求,并返回请求的结果 php…
一.http服务器    我们知道传统的HTTP服务器是由Aphche.Nginx.IIS之类的软件来搭建的,但是Nodejs并不需要,Nodejs提供了http模块,自身就可以用来构建服务器,例如: var http = require("http"); http.createServer(function(req,res) { res.writeHead(200,{ "content-type":"text/plain" }); res.wr…
第七章 建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑.编写接口,最后完成一个完整的项目后台,预计共10天课程. 注:由于使用Nodejs操作mongodb的时候,会有两个很蛋疼的地方,1.修改nodejs文件后需要重新命令行 node node.js去运行,2.数据库需要使用命令行查询,不能直接可视化操作 所以有了这章,给大家介绍两个插件来解决这两个问…
this 打开cmd,执行如下命令 nodeconsole.log(this); 输出如上信息,表示this是global,每个电脑的配置信息不一样的话,可能会有所差别的. 然后新建一个文件,写下如下代码, console.log(this) 使用node命名执行你的文件,发现会输出:{} this表示你当前操作的模块 arguments 然后新建一个文件,写下如下代码, console.log(arguments) 使用node命名执行你的文件,发现会输出: 为什么能正确输出arguments…
nodejs 使用 js 模块 Intro 最近需要用 nodejs 做一个爬虫,Google 有一个 Puppeteer 的项目,可以用它来做爬虫,有关 Puppeteer 的介绍网上也有很多,在这里就不做详细介绍了. node 小白,开始的时候有点懵逼,模块导出也不会. 官方文档上说支持 *.mjs 但是还要改文件扩展名,感觉有点怪怪的,就没用,主要是基于js的模块使用. 模块导出的两种方式 因为对 C# 比较熟悉,从我对 C# 的理解中,将 nodejs 中模块导出分成两种形式: 一个要实…
nodeJS之crypto模块md5和Hmac加密 原文地址:https://www.cnblogs.com/tugenhua0707/p/9128690.html 在nodejs中,可以使用crypto模块来实现各种不同的加密与解密处理,在crypto模块中包含了类似MD5或SHA-1这些散列算法,我们可以通过crypto模块来实现HMAC运算.什么是HMAC运算?HMAC的中文意思是:散列运算消息认证码:运算使用散列算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出.HMAC运算可以…
在自动化测试过程中,对测试数据的管理和维护是一个不可忽视的点.一般来说,如果测试用例数据不是太多的话,使用excel管理测试数据是个相对来说不错的选择. 这篇博客,介绍下如何利用python的xlrd模块来读取excel的数据... 一.下载安装 直接cmd进入命令行,然后输入 pip install xlrd 命令进行安装:或者输入 pip show xlrd 命令来查看是否安装有xlrd. 安装方法不重要,通过安装包安装也可以,只要达到目的即可. 二.用法介绍 xlrd是python语言中读…
在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configparser模块读写配置文件的方法,仅供参考... 一.读取文件 configparser模块支持读取.conf和.ini等类型的文件,那么首先在文件夹新建一个.ini文件,写入一些信息,如下图: 示例代码如下: # coding=utf-8 import configparser import os os…
在NodeJS项目中,用package.json文件来声明项目中使用的模块,这样在新的环境部署时,只要在package.json文件所在的目录执行 npm install 命令即可安装所需要的模块. package.json文件中可配置的项有:名称(name).应用描述(description).版本号(version).应用的配置项(config).作者(author).资源仓库地址(repository).授权方式(licenses).目录(directories).应用入口文件(main)…
nodeJS之crypto模块公钥加密及解密 NodeJS有以下4个与公钥加密相关的类.1. Cipher: 用于加密数据:2. Decipher: 用于解密数据:3. Sign: 用于生成签名:4. Verify: 用于验证签名: 在使用公钥加密技术时,需要使用公钥及私钥,公钥是用于创建只有私钥的拥有者能够读出的加密数据,以及对私钥的拥有者的签名进行验证:私钥是用于解密数据以及对数据进行签名. 一:加密数据在crypto模块中,Cipher类用于对数据进行加密操作:我们可以通过如下两种方式创建…
NodeJS之path模块 常用的主要有如下工具函数: 1. path.basename(path[, ext]) 2. path.extname(path) 3. path.dirname(path) 4. path.parse(path) 5. path.format(pathObject) 6. path.isAbsolute(path); 7. path.join([...paths]) 8. path.relative(from, to) 9. path.resolve([from..…
在nodejs中引入模块需要经历如下3个步骤 1.路径分析 2.文件定位 3.编译执行 在nodejs中模块分为两类,一类是nodejs提供的模块,称为核心模块,另一类的用户编写的模块,称为文件模块. 1.核心模块在nodejs源代码的编译过程中,编译进了二进制执行文件,在nodejs进程启动时,部分核心模块就被直接加载进内存够中 ,这部分核心模块引入时,文件定位和编译执行两个步骤可以省略,并且在路径分析中优先判断,所以它的加载速度时最快的. 2.文件模块则是在运行时动态加载,需要完整的路径分析…
cplusplus 库 在线管理: 类似于 python的 pip install .nodejs 的npm模块 还有 apache 经常使用的 Apache Ivy 项目依赖管理工具/Maven 这种的 貌似 目前都没有专门的C++这方面的社区. 如果 c++代码 也可以 像这样,想Java 类库一样,自由传播,方便下载到本地,使用,那么 是多么愉快的事情呢? 我很想 做这样的事情!构建一个 C++ 在线代码库 与 本地以来管理 的东东.…
最近在折腾着用node-webkit搭建一个工具,其中要查找路径下的所有文件然后再进行压缩等操作,于是进写了这样的一个模块.代码如下: /* 输入目录找出目录下的所有文件,包括文件夹 */ /* 依赖模块 nodejs模块 fs path */ var fs = require('fs') ,path = require('path') ; var shortcuts = { 'file': 'File' ,'dir': 'Directory' } ,pty = {} ; Object.keys…
关于Nodejs中的模块 概念 Nodejs在ECMAScript的基础上扩展并封装了许多高级特性,如文件访问.网络访问等,使得Nodejs成为一个很好的Web开发平台.基于Nodejs这个平台将Web开发常用的一些功能进行封装,称为模块. 1.系统模块 1. 模块被加载后才能使用,Nodejs提供了全局的函数require加载模块. 1.os模块 获取当前操作系统信息 2.fs模块 文件读写操作 3.path模块 路径处理 2. require加载模块路径 相对路径: 如 ./ 或 ../ 绝…
用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands模块的3个主要函数: 1. commands.getoutput('shell command') 执行shell命令,返回结果(string类型) >>> commands.getoutput('pwd') '/home/oracle' 2. commands.getstatus('file') 该函数…
nginx利用geo模块做限速白名单以及geo实现全局负载均衡的操作记录 原文:http://www.cnblogs.com/kevingrace/p/6165572.html Nginx的geo模块不仅可以有限速白名单的作用,还可以做全局负载均衡,可以要根据客户端ip访问到不同的server.比如,可以将电信的用户访问定向到电信服务器,网通的用户重 定向到网通服务器”,从而实现智能DNS的作用.前面介绍过nginx域名访问的白名单配置梳理,下面对nginx的geo模块使用做一梳理(参考Geo模…