Nodejs express获取POST参数值
如果有新手学习 nodejs,获取 url post 传回的参数时,会发生和我一样的问题,今天就来解决这个小麻烦
node.js 不像 php 这种老牌后端语言有特定的获取外部参数的做法,毕竟是个新生力量,希望后来的版本能够更加便捷高效
//正常的获取值
app.get('/', (req, res) => {
console.log(req.query);
res.send('完成');
});
app.post('/', (req, res) => {
console.log(req.body);
res.send('完成');
});正常输出的话,你的预想是这样的...
// GET请求
{
name: '冯小贤',
age: '18'
}
// 完成或
// POST请求
{
name: '冯小贤',
age: '18'
}
// 完成然而并不是!!!
// 两次的输出会是这样!!!
{ }
//undefined这是因为我们这里缺少一个模块,express的中间件 body-parser
官方说明
Node.js body parsing middleware.
Parse incoming request bodies in a middleware before your handlers, available under the req.body property.
基本就是说,解析客户端请求的body中的内容,JSON编码处理和url编码处理
接下来我们就来安装 body-parser
// 安装 body-parser
npm install body-parser// 导入 app.js
var bodyParser = require('body-parser');
app.use(bodyParser());
//这样就可以使用 req.body 来获取 post 传递来的值了
app.post('/', (req, res) => {
console.log(req.body);
res.send('完成');
});
// json就是用 app.use(bodyParser.json()) Nodejs 爬取小姐姐图片
学习没有动力,那吃枣是?的,学习 nodejs 的过程中,我来给大家一点提神醒脑的?
这里我是用了 cnodejs社区 最简单的爬虫小教程做基础改鳝,完成的
//初始化项目
npm init
//启动 app.js
node app.js
//你就可以愉♂快的玩耍了(代码见文章末尾)如不知道如何使用 nodejs
Linux玩家可以看 我的这篇文章;Windows玩家可以直接去官网下载 .msi ,下一步下一步安装 直达车
基本的爬取思路
- 页面的分页按钮,抓到在此页出现的所有小姐姐的页面链接,存储下来
- 使用 eventproxy 来并发访问每个小姐姐的页面
- 访问的过程中,使用 cheerio(类似jquery的模块) 来匹配我们需要的图片地址 ,记录找到的所有图片地址
- http 去请求每张图片地址,保存二进制数据流
- fs将二进制数据流,输出成图片文件,文件名从原始地址提取出来
- 保存至 文件夹
这里我怕由于请求过于庞大,使用 express 构建静态页面提供 查询 和 下载,降低爬取的站点被爬死的可能性
下载地址:xjj.zip
Linux环境下安装Node.js
起步
服务器信息:
1.System
CentOS release 6.9 (Final)
Kernel \r on an \m
2.Configuration
Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
1G,1核 (阿里拉基云)
step 1
这里我使用的是我大淘宝源
// 进入存放目录,我这里放在 /home/nodejs 下,放哪里看你喜好辣
cd /home/nodejs
// 下载 nodejs 二进制包
wget https://npm.taobao.org/mirrors/node/v6.10.2/node-v6.10.2-linux-x86.tar.gz
// 解压包
tar -xzvf node-v6.10.2-linux-x86.tar.gz
// 得到一个文件夹 node-v6.10.2-linux-x86,进入这个目录下的 bin 目录
cd node-v6.10.2-linux-x86/bin
// 确认下载的 nodejs 的版本无误
./node -v
step 2
现在你只能在这个目录下操作 node 呀,所以我们要加到 用户环境里
// 查看一下当前所在的目录
pwd
// 添加软连接到 /usr/local/bin
ln -s /home/nodejs/node-v6.10.2-linux-x86/bin/node /usr/local/bin/node
ln -s /home/nodejs/node-v6.10.2-linux-x86/bin/npm /usr/local/bin/npm
满心欢喜收223366卡
少(fei)女(zhai)粉(sao) 的颜色真好看~
资费详情
22卡资费 22元/月;小电视卡资费 66元/月
1G全国流量(貌似首月再送 1G);4G全国流量(貌似首月再送 2G)
国内接听免费;国内接听免费(还送 200分钟国内通话)
省内流量1元500M;省外流量2元500M(一样)
短信和语音是一样的
再就是赠送的话费和直播特权道具有一点小区别辣
这些都是小事,关键是免流量看 bilibili (注:一个月上限好像是40G哦~)


Git 撤回手残提交出去的commit

刚才用 桌面版GitHub 手残点了个 Revert ,文件被删掉了。。。自己又在这个提交上点了次 Revert 文件又回来了。
但是自己看着这两次并没有卵用的提交,♥里痒痒,X度了一下
找到下面这个个人靠谱的方法,自己用的这种方式撤回成功
git reset --hard <commit_id>commit_id 在 log 中是这种形式 44c7aa824b0f6383ad1eaf037185ea25cb77878f
使用 桌面版GitHub 省略至 6位数 的sha码 ,也可撤回
除了 commit_id 之外还有两种方式
--HEAD // 最近的一次提交
--HEAD^ // 上一次的提交 搜索引擎排名 我胡汉三又回来辣
Linux 求生之路2成功搭建服务器

2021.03.27 更新
服务器配置
| 软件 | 软件版本 |
|--------- -|---|
|操作系统 |Debian 10 (buster)|
|内核 | 4.19.0-13-amd64|
|cpu | 2.59Ghz cpu*4 |
|内存 | 8GB |
|带宽 | 5Mbps |
|硬盘 | 150G 高性能云硬盘 |
起步
Debian
教程终默认以 root 用户执行命令
# 安装32位环境依赖
$ dpkg --add-architecture i386
# 最好还是升级一下系统
$ apt update
$ apt upgradeSteam教程原话
Create a user account named steam to run SteamCMD safely, isolating it from the rest of the operating system. Do not run steamcmd while operating as the root user - to do so is a security risk.
最好不要使用 root 用户来运行 steamCMD
创建用户并建立存放目录
$ adduser steam #创建一个用户叫 steam
$ passwd steam #密码自己随意设置,我这里就 steam
$ sudo -iu steam #这个用户在求生之路2的文件夹里没有创建文件的权限,建议切回root创建
$ mkdir steamCmd #创建存放目录官方的 apt install steamcmd 我是没有成功,小伙伴们可以试一下$ cd ~/steamCmd
# 下载完成后解压文件
$ curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -运行 steamCMD 安装求生之路2
啊~
运行脚本
$ steamcmd这个时候你就进到 steamCMD 辣
这是匿名登陆到 steam ,查看需要用户名登陆的游戏在这里找 这里这里
这里 求生之路2 支持匿名登陆,我们用匿名
# 其它用户名登陆 `login 用户名`
Steam> login anonymous指定下载目录这一步我没做,直接默认下载在 $HOME/.steam/steamapps/common/ 里面
下载的时候最后带上 validate 效验下载的数据缺少或丢失
Steam> app_update 222860 validate
等待安装完成......
安装完成会提示 Success! App '222860' fully installed.
输入 exit 或 quit 或 Ctrl + C 或 Ctrl + Z 退出
配置并运行求生之路2
创建 server.cfg 配置文件
$ nano $HOME/server.cfg输入以下内容
hostname "ohhhhhhhhhhhhhhhh" #主机名
sv_cheats 1 #开启作弊
sv_region 4 #我这里设置的亚洲服务器(0就是全球辣)
sv_steamgroup "27915935,1184541,1016724,628356" #设置steam组
sv_steamgroup_exclusive 1 #开启私有组
sv_allow_wait_command 0 #不等待
sb_all_bot_game 1 #留着一个电脑
sv_consistency 0 #mod不一样也可以一起玩
sv_search_max_ping 300 #超过300ping就找不到我辣(前提把私有组关掉)
fps_max 72 #限制fps72
z_difficulty Hard #开启困难模式管理员权限创建一个启动脚本
$ curl -O https://mirror.flxxyz.com/gist/flxxyz/14b5dc4080d20c685eb767067414c8dd/raw/7d202f1e204610bd9ab4a71671b54f6b3ee05f41/l4d2_start_server.sh
$ chmod +x l4d2_start_server.shOK,运行吧~
$ ./l4d2_start_server.sh 0元购的K2路由器成功下车,祝好运
顺利下车,白送的路由器,我是看着可以刷机买的 (毕竟噱头是0元狗)

2017 百度IFE前端学院春季班 热身任务
入门关
入门关我就不发了吧,手机锁屏,大家都懂的 
第一关

第一关的难点在于进到页面就是一片空白,如果无聊的同学在空白的位置拖动鼠标会发现 有一段文字,看来是把 color设置成了白色嘛,这个就简单了,F12控制台打开
输入 document.getElementsByClassName('text-panel')[0].innerHTML 就是了这段文字了
document.getElementsByClassName('text-panel')[0].innerHTML.trim() 出来是不是没有换行符和空格辣
