Shell 简单构建 Node web服务器
.git bash 执行代码生成:
./makeJs.sh
生成文件如下:
访问:http://127.0.0.1:3030/index.html
makeJs.sh 代码如下:
#create makePost.sh post=./makePost.sh
if [ -f "$post" ];then
echo "$post 文件己存在"
else
(
cat <<EOF
count=1
while [ "$#" -ge "1" ];do
echo "参数序号为 $count 是 $1"
curl -i -X POST -H 'Content-type':'application/json' -d {"BTime":""$btime""} $1 let count=count+1
shift
done
EOF
) > $post
fi #create index.html
index=./index.html
if [ -f "$index" ];then
echo "$index 文件己存在"
else
(
cat <<EOF
testing
EOF
) > $index
fi #create index.js
file=./index.js
if [ -f "$file" ];then
echo "文件己存在!无法生成 $file"
else
(
cat <<EOF
var http=require('http');
var fs = require('fs');
var url = require('url'); http.createServer(function(request,response) {
var pathname= url.parse(request.url).pathname;
console.log("Request for "+ pathname + " received.");
fs.readFile(pathname.substr(1),function(err, data) {
if(err) {
response.writeHead(404,{'Content-Type': 'text/html'});
}
else {
response.writeHead(200,{'Content-Type': 'text/html'});
response.write(data.toString());
}
response.end();
});
}).listen(3030); console.log('Server running at http://127.0.0.1:3030/index.html');
EOF
) > $file echo "文件创建成功"
node index.js fi
makeJs.sh 解决服务资源CSS/JS/other 文件载入:(推荐)
// --------
#create makePost.sh post=./makePost.sh
if [ -f "$post" ];then
echo "$post 文件己存在"
else
(
cat <<EOF
count=
while [ "$#" -ge "" ];do
echo "参数序号为 $count 是 $1"
curl -i -X POST -H 'Content-type':'application/json' -d {"BTime":""$btime""} $ let count=count+
shift
done
EOF
) > $post
fi #create index.html
index=./index.html
if [ -f "$index" ];then
echo "$index 文件己存在"
else
(
cat <<EOF
testing
EOF
) > $index
fi #create index.js
file=./index.js
if [ -f "$file" ];then
echo "文件己存在!无法生成 $file"
else
(
cat <<EOF var http = require('http');
var fs = require('fs'); //主要思想就是任何一个静态文件也应该做响应,一个获取静态文件都应当请求来处理,这是主要思想
var server = http.createServer(); var handlerequest = function(request,respone){
var url = request.url,ns;
// respone.writeHead(200,{'Content-Type':'text/html'});
if(url=='/'){
respone.writeHead(,{'Content-Type':'text/html'});
ns = fs.readFile('./index.html', function(err, data) {
if (err) {
console.error(err);
return;
}
respone.end(data);
});
//respone.end();
}else if(url != '/'){
var surl = '.'+url;
var type = surl.substr(surl.lastIndexOf(".")+,surl.length);
respone.writeHead(,{'Content-type':"text/"+type});
// respone.writeHead(200,{'Content-Type':'text/css'});
ns = fs.readFile(surl, function(err, data) {
if (err) {
console.error(err);
return;
}
respone.end(data);
});
}
};
server.on('request',handlerequest); server.listen(,function(){
console.log('Server running at http://127.0.0.1:3030/index.html');
}); EOF
) > $file echo "文件创建成功"
node index.js fi
Post 接口批量测试
./makePost.sh http://192.168.3.52/ad/customer/res
使用 curl 测试post请求json接口
./makePost.sh
count=1
while [ $# -ge "1" ];do
echo "参数序号为 $count 是"
curl -i -X POST -H 'Content-type':'application/json' -d {"BTime":""$btime""} $1
let count=count+1
shift
done
Shell 简单构建 Node web服务器的更多相关文章
- 一个简单的Java web服务器实现
前言 一个简单的Java web服务器实现,比较简单,基于java.net.Socket和java.net.ServerSocket实现: 程序执行步骤 创建一个ServerSocket对象: 调用S ...
- JSP学习笔记(三):简单的Tomcat Web服务器
注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...
- Golang学习-第二篇 搭建一个简单的Go Web服务器
序言 由于本人一直从事Web服务器端的程序开发,所以在学习Golang也想从Web这里开始学起,如果对Golang还不太清楚怎么搭建环境的朋友们可以参考我的上一篇文章 Golang的简单介绍及Wind ...
- C语言构建小型Web服务器
#include <stdio.h> #include <sys/socket.h> #include <stdlib.h> #include <string ...
- Windows窗体应用程序(非Console)使用libuv实现简单的异步WEB服务器
libuv是一个很强大的异步处理框架(严格意义上不能叫框架,其实就是一组异步函数库,当然框架这东西有各种各样的定义和理解_^...),最初的的目的是用于NODEJS的异步处理,不过因为它是一个独立的项 ...
- NODE编程(三)--构建Node Web程序1
一.HTTP服务器的基本知识 1.Node如何向开发者呈现HTTP请求 Node中的http模块提供了HTTP服务器和客户端接口: var http = require('http'); 创建HTTP ...
- python简单搭建HTTP Web服务器
对于Python 2,简单搭建Web服务器,只需在i需要搭建Web服务器的目录(如C:/ 或 /home/klchang/)下,输入如下命令: python -m SimpleHTTPServer 8 ...
- 搭建一个简单的node.js服务器
第一步:安装node.js.可以去官网:https://nodejs.org/en/进行下载. 查看是否成功,只需在控制台输入 node -v.出现版本号的话,就证明成功了. 第二步:编写node.j ...
- node - web 服务器 、server 服务器
node 作为服务端 - 基本使用 1. web 服务器 web.html <!DOCTYPE html> <html> <head> <meta chars ...
随机推荐
- c#实战开发:以太坊Geth 命令发布智能合约 (五)
Token的合约代码我们参考Token-Factory的代码. 打开 https://remix.ethereum.org/#optimize=false&version=soljson-v ...
- Java开发笔记(八十六)通过缓冲区读写文件
前面介绍了利用文件写入器和文件读取器来读写文件,因为FileWriter与FileReader读写的数据以字符为单位,所以这种读写文件的方式被称作“字符流I/O”,其中字母I代表输入Input,字母O ...
- Fundebug支持浏览器报警
摘要: 除了邮件报警和第三方报警,我们新增了浏览器报警功能. 邮件报警与第三方报警 Fundebug是专业的应用BUG监控服务,当您的线上应用,比如网页.小程序.Java等发生BUG时,我们会第一时间 ...
- iOS----------Xcode 无线调试
环境要求: 至少Mac OSX 10.12.6 iOS 11 Xcode 9 1. ”自己的工程“ -> windows -> Device and Simulators ,打开设备和模拟 ...
- java:nextInt()和nextLine()一起使用出错
今天遇到一个很奇怪的事情,日常刷题中,遇到一个很简单的题: (不想看我多逼逼只想知道为什么会出错看最后) 题目: 题目描述 description 现有有N个学生的数据记录,每个记录包括学号.姓名.三 ...
- selenium-webdriver的二次封装(十)
接着上篇随笔 selenium-配置文件定位元素 ,进行了配置文件设置后,将配置文件运用到定位元素中 思路:拿到定位的 key 和 value 后,对 webdrvier 中定位进行封装,使可以直接运 ...
- Structs2 中拦截器获取请求参数
前言 环境:window 10,JDK 1.7,Tomcat 7 测试代码 package com.szxy.interceptor; import java.util.Map; import jav ...
- 如何连接别人电脑上的Oracle数据库?
需要一些前提条件: 1.对方的主机能被连接(如在同一局域网内) 2.需要知道对方数据库IP.端口号.服务名 3.需要知道对方提供的管理数据库的用户名及密码 连接方法: 1.在本地的oracle安装目录 ...
- 既然CPU一次只能执行一个线程,那多线程存在的意义是什么?
今天看到了一篇文章,终于解除了一直的疑惑. 原文链接:https://www.cnblogs.com/qingbafengliuxia/p/10171638.html CPU的时间是按 ...
- SQL COUNT() 函数
COUNT() 函数返回匹配指定条件的行数. SQL COUNT() 语法 SQL COUNT(column_name) 语法 COUNT(column_name) 函数返回指定列的值的数目(NULL ...