fs模块 - 文件操作
const fs = require('fs')
fs.writeFile('文件路径' , '写入的内容' , (err)=>{ 成功时err值为null })
fs.writeFileSync('文件路径' , '写入的内容')
fs.readFile('文件路径' , 'utf-8' , (err)=>{ 成功时err值为null })
fs.readFileSync('文件路径' , 'utf-8' })
fs.appendFile('文件路径' , '写入的内容' , (err)=>{ 成功时err值为null })
fs.appendFileSync('文件路径' , '写入的内容')
fs.unlink('文件路径' , ()=>{})
fs.unlinkSync('文件路径')
fs.stat('文件路径' , ()=>{})
fs.existSync('文件路径')
os模块 - 查看操作系统相关信息
const os = require('os')
os.EOL
os.cpus()
os.totalmem()
os.freemem()
os.hostname()
os.type()
path模块 - 操作文件路径
const path = require('path')
let str = 'c:/test/index.html'
console.log( path.basename(str) )
console.log( path.dirname(str) )
console.log( path.extname(str) )
console.log( path.join( '/a' , 'b') )
console.log( path.join(__dirname , 'index.html' )
console.log( path.resolve('a','b','c') )
console.log( path.resolve('a','../b','c') )
console.log( path.resolve('/a','b','c') )
url模块 - 操作url地址
const url = require('url')
let urlStr = 'http://localhost:8888/test/index.html?id=1&age=10'
console.log(url.parse(urlStr))
console.log(url.parse(urlStr).query)
console.log(url.parse(urlStr).pathname)
querystring模块 - 处理get请求参数
const querystring = require('querystring')
let str = 'id=1&age=20'
console.log(querystring.parse(str))
console.log(querystring.parse(str).age)
console.log(querystring.decode(str))
console.log(querystring.stringify(querystring.parse(str)))
console.log(querystring.encode(querystring.parse(str)))
const url = require('url')
let urlStr = 'http://loalhost:8888/test/index.html?id=1&age=10'
let date=url.parse(str).query
console.log(querystring.parse(date))
http模块 - 创建服务器
const http = require('http')
const app = http.createServer((req,res)=>{
res.setHeader('conten-type','text-html;charset=utf-8')
res.writeHead(404,'not find ha',{ 'content-type' : 'text/html;charset=utf-8'} )
res.end('ok')
})
app.listen(端口号,()=>{})
![点击并拖拽以移动]()
http的get请求
const http = require('http')
const url = require('url')
const querystring = require('querystring')
const app = http.createServer((req, res) => {
let pathname = url.parse(req.url).pathname
if (pathname = '/list') {
let { name, age } = querystring.parse(url.parse(req.url).query)
console.log(name, age);
res.end('get')
}
res.end('ok')
})
app.listen(端口号, () => {})
http的post请求
const http = require('http')
const fs = require('fs')
const querystring = require('querystring')
const app = http.createServer((req, res) => {
if (req.url == '/') {
let date = fs.readFileSync('./index.html')
res.end(date)
} else if (req.url == '/test/index') {
let str = ''
req.on('data', chunk => {
str += chunk
})
req.on('end', () => {
let strObj = querystring.parse(str)
})
res.end('this is a post request')
} else {
res.end('ok')
}
})
app.listen(端口号, () => {})
http的爬虫
const http = require('http')
const fs = require('fs')
const https = require('https')
const app = http.createServer((req, res) => {
if (req.url = '/') {
http.get('http://www.17989.com/xiaohua/', req1 => {
let str = ''
req1.on('data', chunk => {
str += chunk
})
req.on('end', () => {
let cheerio = require('cheerio')
let $ = cheerio.load(str)
let arr = []
$('.hd').each((i, v) => {
arr.push({
title: $(v).text(),
content: $(v).next().text(),
})
})
fs.writeFileSync('./data/date.json', JSON.stringify(arr))
})
})
}
res.end('ok')
})
app.listen(端口号, () => {})
proxy代理
const http = require('http')
const fs = require('fs')
http.createServer((req, res) => {
if (req.url === '/') {
let data = fs.readFileSync('./ajax.html')
res.end(data)
} else if (req.url == '/test') {
let httpproxymiddleware = require('http-proxy-middleware')
let fn = httpproxymiddleware.createProxyMiddleware({
target: 'https://www.baidu.com',
changeOrigin: true,
pathRewrite: {
'/test': ''
}
})
fn(req, res)
} else {
res.end('123')
}
}).listen(5000)