nodejs http模块
Posted houfee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs http模块相关的知识,希望对你有一定的参考价值。
实现一个
// 1. 导入 http 模块 const http = require(‘http‘) // 2. 创建一个web服务器, 调用 http.createServer() 创建的服务器, // 此时还没有被运行起来,也没有处理任何客户端浏览器的请求 const server = http.createServer() // 3. 通过 server.on(‘request‘, function(req, res){ /* 处理函数 */ }) 为服务器绑定 request // 只要有客户端请求了这个服务器,必然会触发 server 的 request 事件,从而调用 指定的回调函数,处理这次请求 server.on(‘request‘, function(req, res) { // req 是 请求对象 // res 是 响应对象 // 写入响应头,告诉客户端,以什么样的编码格式,解析服务器返回的数据 res.writeHeader(200, { ‘Content-Type‘: ‘text/html; charset=utf-8‘ }) res.end(‘hello world. 世界‘) }) // 4. 使用 server.listen() 方法,启动服务器,并指定端口 server.listen(2000, ‘127.0.0.1‘, () => { console.log(‘server running at http://127.0.0.1:2000‘) })
简单的静态页面服务器
const http = require(‘http‘) const fs = require(‘fs‘) const path = require(‘path‘) const server = http.createServer() server.on(‘request‘, (req, res) => { // 1. 获取请求的URL地址 const reqURL = req.url // 2. 进行 if...else...判断 if (reqURL === ‘/‘ || reqURL === ‘/index.html‘) { // 读取首页文档内容,并使用res.end() 响应请求 fs.readFile(path.join(__dirname, ‘./views/index.html‘), (err, dataStr) => { if (err) return res.end(‘404. No found.‘) // 注意: res.end() 既可以发送普通字符串,还可以发送 Buffer 对象 res.end(dataStr) }) } else if (reqURL === ‘/movie.html‘) { // 读取电影文档内容,并使用res.end() 响应请求 fs.readFile(path.join(__dirname, ‘./views/movie.html‘), (err, dataStr) => { if (err) return res.end(‘404. No found.‘) res.end(dataStr) }) } else if (reqURL === ‘/about.html‘) { // 读取电影文档内容,并使用res.end() 响应请求 fs.readFile(path.join(__dirname, ‘./views/about.html‘), (err, dataStr) => { if (err) return res.end(‘404. No found.‘) res.end(dataStr) }) } else { res.writeHeader(200, { ‘Content-Type‘: ‘text/html; charset=utf-8‘ }) res.end(‘404. 报告队长,您访问的页面,炸了!!!‘) } }) server.listen(3000, () => { console.log(‘server running at http://127.0.0.1:3000‘) })
以上是关于nodejs http模块的主要内容,如果未能解决你的问题,请参考以下文章
当尝试将变量传递给另一个模块时,将代码拆分到Nodejs中的自定义模块时,它将被定义为未定义
nodejs .http模块, cheerio模块 实现 小爬虫.