获取GET请求内容

node.js 中 url 模块中的 parse 函数提供了这个功能。

var http = require('http');
var url = require('url');
var util = require('util');http.createServer(function(req, res){res.writeHead(200, {'Content-Type': 'text/plain; charset=utf-8'});res.end(util.inspect(url.parse(req.url, true)));
}).listen(3000);

获取 URL 的参数

var http = require('http');
var url = require('url');
var util = require('util');http.createServer(function(req, res){res.writeHead(200, {'Content-Type': 'text/plain'});// 解析 url 参数var params = url.parse(req.url, true).query;res.write("网站名:" + params.name);res.write("\n");res.write("网站 URL:" + params.url);res.end();}).listen(3000);

获取 POST 请求内容

var http = require('http');
var querystring = require('querystring');var postHTML = '<html><head><meta charset="utf-8"><title>菜鸟教程 Node.js 实例</title></head>' +'<body>' +'<form method="post">' +'网站名: <input name="name"><br>' +'网站 URL: <input name="url"><br>' +'<input type="submit">' +'</form>' +'</body></html>';http.createServer(function (req, res) {var body = "";req.on('data', function (chunk) {body += chunk;});req.on('end', function () {// 解析参数body = querystring.parse(body);// 设置响应头部信息及编码res.writeHead(200, {'Content-Type': 'text/html; charset=utf8'});if(body.name && body.url) { // 输出提交的数据res.write("网站名:" + body.name);res.write("<br>");res.write("网站 URL:" + body.url);} else {  // 输出表单
        res.write(postHTML);}res.end();});
}).listen(3000);

使用 Node 创建 Web 服务器(服务端创建服务器,解析请求,读取文件内容,发送响应数据(响应头部、响应内容))

创建server.js

var http = require('http');
var fs = require('fs');
var url = require('url');// 创建服务器
http.createServer( function (request, response) {  // 解析请求,包括文件名var pathname = url.parse(request.url).pathname;// 输出请求的文件名console.log("Request for " + pathname + " received.");// 从文件系统中读取请求的文件内容fs.readFile(pathname.substr(1), function (err, data) {if (err) {console.log(err);// HTTP 状态码: 404 : NOT FOUND// Content Type: text/plainresponse.writeHead(404, {'Content-Type': 'text/html'});}else{             // HTTP 状态码: 200 : OK// Content Type: text/plainresponse.writeHead(200, {'Content-Type': 'text/html'});    // 响应文件内容
         response.write(data.toString());        }//  发送响应数据
      response.end();});
}).listen(8081);// 控制台会输出以下信息
console.log('Server running at http://127.0.0.1:8081/');

创建一个 index.html

<html>
<head>
<title>Sample Page</title>
</head>
<body>
Hello World!
</body>
</html>

进入http://127.0.0.1:8081/index.html后

使用 Node 创建 Web 客户端(向服务端请求,请求的选项,不断更新数据,数据接收完成)

var http = require('http');// 用于请求的选项
var options = {host: 'localhost',port: '8081',path: '/index.htm'
};// 处理响应的回调函数
var callback = function(response){// 不断更新数据var body = '';response.on('data', function(data) {body += data;});response.on('end', function() {// 数据接收完成
      console.log(body);});
}
// 向服务端发送请求
var req = http.request(options, callback);
req.end();

运行后得到结果

转载于:https://www.cnblogs.com/yujihang/p/7281496.html

【node.js】GET/POST请求、Web 模块相关推荐

  1. Node.js跨域请求解决方案

    Node.js跨域请求解决方案 一.缘由: 初到公司,老大让去解决之前项目客户提出的一个小问题,对某一模块进行访问验证,之前的项目是PHP做的,对此不了解,因此不打算先学习PHP再去解决问题,考虑到客 ...

  2. Node.js 从零开发web server博客项目--项目初始化

    本篇博客记录了<Node.js 从零开发web server博客项目>的原生开发系列内容. 开篇主要介绍原生项目的搭建,以及初步的项目结构设计. 一.项目初始化 新建项目目录,并进入到项目 ...

  3. 自制chatroom_构建由Node.js驱动的Chatroom Web App:入门

    自制chatroom 本文是Microsoft的Web开发技术系列的一部分. 感谢您支持使SitePoint成为可能的合作伙伴. 这个Node.js教程系列将帮助您构建完全部署在云中的由Node.js ...

  4. Node.js进程管理之Process模块

    在前面Node.js事件运行机制也有提到,Node.js应用在单个线程运行,但是现在大部分服务器都是多处理器,为了方便使用多个进程,Node.js提供了3个模块.Process模块提供了访问正在运行的 ...

  5. Node.js中使用adm-zip npm模块创建和提取zip文件

    Zip文件是常用的压缩文件格式.大多数开发人员最终使用tarball而不是zip文件.但在某些情况下,您需要使用zip文件,例如将函数上载到AWS Lambda.在本文中,我将演示如何用 adm-zi ...

  6. 关于Node.js的httpClieint请求报错ECONNRESET的原因和解决措施

    原文: 关于Node.js的httpClieint请求报错ECONNRESET的原因和解决措施 自己的一点理解: 1: Node.js提供的HttpServer默认设置了超时时间为2分钟,当一个请求的 ...

  7. 二十六、深入Node.js中的文件系统fs模块

    @Author:Runsen @Date:2020/6/8 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  8. Node.js之十大Web框架

    Node.js之十大Web框架 之前接触过Node.js是因为好奇大前端越来越能干了,连我后台的饭碗都要抢了,太嚣张了,于是我想打压打压它,然后就这样接触它了. 再到后来是因为Settings-Syn ...

  9. node.js学习笔记5——核心模块1

    node.js学习笔记5--核心模块1 Node.js核心模块主要内容包括:(1)全局对象 (2)常用工具 (3)事件机制 (4)文件系统访问 (5)HTTP服务器与客户端 一: 全局对象 Node. ...

  10. Fenix – 基于 Node.js 的桌面静态 Web 服务器

    Fenix 是一个提供给开发人员使用的简单的桌面静态 Web 服务器,基于 Node.js 开发.您可以同时在上面运行任意数量的项目,特别适合前端开发人员使用. 您可以通过免费的 Node.js 控制 ...

最新文章

  1. AngularDart Material Design 输入
  2. C#学习笔记(一)变量 常量 基本数据类型 其它
  3. junit单元测试报错InvalidTestClassError: Invalid test class
  4. Spring注解开发-属性依赖注入
  5. TOJ---2621--全排列
  6. 【Webpack5 配置分包加载 多文件js/css打包 】
  7. spss和python stata matlab_(SPSS,Matlab,stata,Python)相关性?
  8. 设计模式视频教程——【从设计到模式】
  9. Android Studio GPU/CPU/Network/Memory monitor使用
  10. LINUX SHELL如何递归访问目录(处理包含空格的文件名)
  11. 海贝思蓝牙接收器Linux,Hagibis海备思 蓝牙音频接收 耳机怎么样,评测
  12. 2022年最新计算机专业毕业设计选题 - 选题推荐 毕设开题 简单易过 题目新颖
  13. C++定义复数类(Complex)
  14. 【路径规划】基于A星算法机器人走迷宫路径规划matlab代码
  15. 高斯多种备份/迁移方式
  16. 私有文件服务器,私有云文件服务器
  17. cad标注桩号lisp_CAD插件标桩号的AutoLISP程序语言求解释并译成中文,谢谢
  18. 分布式系统------概述
  19. MATLAB中.mat文件转为excel(.xlsx)
  20. 关于游戏测试岗位的一些理解和建议

热门文章

  1. Java搭建网站相关知识整理(新手上路)
  2. linux的uapi文件夹,【linux】Linux kernel uapi header file(用户态头文件)
  3. 总结一下用caffe跑图片数据的研究流程接上篇
  4. Numpy之文件存取
  5. 西门子S7系列中间人攻击:PLC探测和流量分析(二)
  6. 345.反转字符串中的元音字符(力扣leetcode) 博主可答疑该问题
  7. vue 事件调用 传参_高效开发小程序,Vue 和微信小程序的区别你该了解一下
  8. mysql数据库升幂_斯特林数
  9. 预科阶段:快速实战入门
  10. 匈牙利算法求最大匹配(HDU-4185 Oil Skimming)