有一个网络问题请教你一下

这段时间在学习网络相关内容,但是现在遇到一个问题需要大家帮忙出点主意。

学习 HTTP 协议的时候肯定会看 HTTP 报文内容,比如请求头,请求体,但是目前使用 Node 创建一个 HTTP Server 后,当接收到客户端的请求时,HTTP 模块自动会把 request 相关的内容进行解析,但是我想要原始的 data咋么获取?包括 request 的请求头的原始数据。

从 HTTP server 这块肯定是拿不到,它的请求回调直接是 request 和 response 对象,HTTP 协议相关内容肯定被解析了。

server.on('request', function(req, res) {    //}

使用 HTTP 的下层 TCP 获取数据,获取到的是消息体,但我想获取 HTTP 请求的整个数据。

server.on("connection", function (socket) {    // 当收到客户断消息会响应这个事件    socket.on('data', function(data) {        // data 是消息体    });});

除了使用 node,也可以使用其它技术来获取一次 HTTP 请求的二进制数据。

总之,我只想看一看 HTTP 请求到达 Server 后未解析的原始数据。也就是说 HTTP 在发起请求肯定会传输数据包,server 在接收到数据包后需要根据协议约定进行解析。我想要的是未解析的数据包。

如果你有好的思路,欢迎留言讨论。


推荐阅读:
第三阶段 - 重学网络编程(HTTP、TCP、WebServer)

搭建Hadoop环境需要以下步骤: 1. 准备好一台或多台服务器,安装好操作系统(CentOS或Ubuntu),配置好网络连接。 2. 安装Java环境,Hadoop是基于Java开发的,所以需要先安装Java。可以通过以下命令安装Java: ``` sudo apt-get update sudo apt-get install openjdk-8-jdk ``` 3. 下载Hadoop安装包,可以从官网下载最新版本的Hadoop,也可以使用以下命令下载Hadoop: ``` wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz ``` 4. 解压缩Hadoop安装包,可以使用以下命令解压缩: ``` tar -zxvf hadoop-3.3.1.tar.gz ``` 5. 配置Hadoop环境变量,需要在~/.bashrc文件中添加以下内容: ``` export HADOOP_HOME=/path/to/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 6. 配置Hadoop集群,需要修改以下文件: - core-site.xml ``` <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` - hdfs-site.xml ``` <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/path/to/hadoop/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/path/to/hadoop/hdfs/datanode</value> </property> </configuration> ``` - yarn-site.xml ``` <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> </configuration> ``` - mapred-site.xml ``` <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` 7. 启动Hadoop集群,需要运行以下命令: ``` start-dfs.sh start-yarn.sh ``` 8. 验证Hadoop集群是否正常运行,可以通过以下命令查看Hadoop集群的状态: ``` jps ``` 如果能看到以下进程,则表示Hadoop集群已经正常运行: - NameNode - DataNode - ResourceManager - NodeManager - Jps 以上就是搭建Hadoop环境的基本步骤,需要根据实际情况进行配置和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值