欢迎光临散文网 会员登陆 & 注册

NodeJS-http模块

2022-04-11 19:09 作者:鲈鱼懂个der的Java  | 我要投稿

使用的软件VScode,--主要免费

前置需求

需要安装nodejs和配置相应的环境变量

后面会用到对应的npm包,安装一个express的npm包

选择集成终端中打开
在对应的文件夹安装express


流程分析

对于该模块,主要是模拟搭建一个web服务器的角色,如果有python的爬虫经历来说,这个就理解起来比较简单,nodejs中使用http模块和python中的request模块发送的都是http报文。接下来我们开始进行进行流程解析,首先我们进行浏览器查询网址。通常发起的是request中的get请求,如果对应的服务器收到了,会返回对应的状态码和信息,当然这个模块也可以进行数据爬取。

状态码

如果得到状态码为200的响应代表对我们的请求成功。

如果是404,那就代表找不到地址,404,代表地址出错,说明自己的文件或者文件夹地址填写出错。我的排查就比较简单。每次输出需要处理完的文件路径或者将要自己通过拼接之后的路径输出,通常后者是典型的拼接错误。

如果是304,说明自己电脑进行了缓存数据,可能是图片也可能是文字等。

如果是500,代表服务器端报错。127.0.0.1:8080经常爆bug。返回状态码500

进行操作。

代码如下



// 导入http模块

const { response } = require('express')

const http=require('http')

const server=http.createServer((request,response)=>{

    if(request.url=='/favicon.ico')

    console.log('没有图标');

    console.log('发起请求的电脑路径:',request.url);

    // 编写对应的响应的状态码。并设置返回的文本时html文本,浏览器会自己进行辨识出入元素

    response.writeHead(200,{'Content-Type': 'text/html;Charset=utf-8'})

    response.end('<h1>我是h1标题<h1>')

    console.log('有人访问了服务器');

})

server.listen(8000,()=>{

    console.log('http://127.0.0.1:8000');

})

发起一次简单的get请求。



发送一次get请求


上图中可以看到我们使用浏览器查询网址,起始查询网址的过程也是一个重点,以后我尽量记起来补上,看我记性,哈哈。肯定会有人有疑惑,问什么会产生两次请求,第一第一次请求是我们请求这个网页。第二个请求是什么?答案是图标icon,所以发起两次请求,当然post请求也是两次请求,不过是post请求的检验机制,为了更好的保证是可靠固定的网络连接。至于icon结果的处理就是如果是图片会有对应的更新,如果没有就图片那就不管。这次单纯的演示一下

最左边的图片就是页面的icon

你看这个页面就产生了h1元素。并且返回了对应的报文,我们在检查中查看

你看这个文字和正常的不一样了

接下来会有返回文件或者图片,页面等。如果有错误请联系我,谢谢。学习加油

NodeJS-http模块的评论 (共 条)

分享到微博请遵守国家法律