User-Profile-Image
hankin
  • 5
请到[后台->外观->菜单]中设置菜单。
  • 分类
    • 靶机渗透
    • 计算机小技巧
    • 未分类
    • 数据结构
    • 内网渗透
    • 代码审计
    • XSS
    • WEB安全漏洞学习
    • Web
    • python
    • PHP
    • NodeJS
    • MYSQL
    • Misc
    • JavaScript
    • Docker
    • CTF相关知识点
    • CTFWP
    • Crypto
    • Cobalt Strike
  • 页面
  • 友链
    • 三哥的博客
    • Root师傅的博客
    • EDS师傅的博客
    • 天正哥的博客
    • 天尘翼师傅的博客
    • 熵增师傅的github
    • 信仰的博客
    • Jadore的博客
Help?

Please contact us on our email for need any support

Support
    首页   ›   NodeJS   ›   正文
NodeJS

NodeJS(二)

2020-05-22 09:51:01
48  0 0

HTTP完善

设置中文响应时的解析编码

//引入http核心模块
var http = require('http');
//创建一个服务
var server = http.createServer();
//绑定连接
server.on('request',function(res,rs){
    if(res.method == 'POST'){
        console.log('POST请求');
    }else if(res.method == 'GET'){
        console.log('GET请求');
    }
    rs.setHeader('Content-type','text/plain;charset=utf8');//设置解析编码
    rs.write('六日六日');//中文响应必须设置setHeader
    rs.end();//最后断开连接
});
//启动监听
server.listen(8081,function(){
    console.log('请访问127.0.0.1:8081');
})

响应HTML页面代码

//引入http核心模块
var http = require('http');
//创建一个服务
var server = http.createServer();
//绑定连接
server.on('request',function(res,rs){
    if(res.method == 'POST'){
        console.log('POST请求');
    }else if(res.method == 'GET'){
        console.log('GET请求');
    }
    rs.setHeader('Content-type','text/html;charset=utf8');//设置解析为HTML
    //rs.write('六日六日');//中文响应必须设置setHeader
    rs.end('<h1>六日</h1>');//相当于执行了write再end,同时识别html标签了
});
//启动监听
server.listen(8081,function(){
    console.log('请访问127.0.0.1:8081');
})

通过引入一个html页面,进行服务器响应

//引入http核心模块
var http = require('http');
//引入文件读取模块fs
var fs = require('fs');
//创建一个服务
var server = http.createServer();
//绑定连接
server.on('request',function(res,rs){
    if(res.method == 'POST'){
        console.log('POST请求');
    }else if(res.method == 'GET'){
        console.log('GET请求');
    }
    rs.setHeader('Content-type','text/html;charset=utf8');//设置解析为HTML
    fs.readFile('./index.html','utf-8',function(err,data){
        rs.end(data);//返回html代码
    })
});
//启动监听
server.listen(8081,function(){
    console.log('请访问127.0.0.1:8081');
})

​响应一个图片,首先准备好图片:在img/01.jpg

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<img src="./img/1.jpg" alt="">
</body>
</html>

​JS处调用

//引入http核心模块
var http = require('http');
//引入文件读取模块fs
var fs = require('fs');
//创建一个服务
var server = http.createServer();
//绑定连接
server.on('request',function(res,rs){
    var urls = res.url;
    if(urls == '/'){
        rs.setHeader('Content-type','text/html;charset=utf-8');
        fs.readFile('./01.html','utf-8',function(err,data){
            rs.end(data);
        })
    }else{
        fs.readFile('.'+urls,function(err,data){
            rs.end(data);
        })
    }
});
//启动监听
server.listen(8081,function(){
    console.log('请访问127.0.0.1:8081');
})

​服务器正常会请求三次的,第二次请求图片路径为:/img/01.jpg,所以在else处进行拼接一个.同时图片不需要进行编码处理

JSON相互转换

var arr = ['a','b','张三']
var str1 = JSON.stringify(arr);
console.log(str1);
console.log(typeof str1); 

注意虽然输出的格式与数组相同,但是实际已经是字符串类型了

var str2 = '{"name":"purplet","age":20}';
console.log(JSON.parse(str2));
console.log(typeof JSON.parse(str2)); 

通过JSON.parse()转换后的是一个对象


评论 (0)

点击这里取消回复。

欢迎您 游客  

近期文章
  • SUCTF 2019 Guess_game
  • Python pickle反序列化
  • [安洵杯 2019]easy_serialize_php
  • Session反序列化
  • 原生类序列化
近期评论
    文章归档
    • 2021年1月
    • 2020年12月
    • 2020年11月
    • 2020年9月
    • 2020年7月
    • 2020年6月
    • 2020年5月
    • 2020年4月
    • 2020年3月
    • 2020年2月
    • 2020年1月
    分类目录
    • Cobalt Strike
    • Crypto
    • CTFWP
    • CTF相关知识点
    • Docker
    • JavaScript
    • Misc
    • MYSQL
    • NodeJS
    • PHP
    • python
    • Web
    • WEB安全漏洞学习
    • XSS
    • 代码审计
    • 内网渗透
    • 数据结构
    • 未分类
    • 计算机小技巧
    • 靶机渗透
    功能
    • 登录
    • 项目feed
    • 评论feed
    • WordPress.org
    分类目录
    Copyright © 2021 网站备案号: 蒙ICP备20000552号-1
    smarty_hankin 主题. Designed by hankin
    主页
    页面
    博主
    purplet 管理员
    努力并有所方向
    157 文章 0 评论 21249 浏览
    测试
    测试