Node.js自带的http模块可以创建服务器,也可以发送GET和POST请求。

一、创建服务器

使用http.createServer()方法创建服务器,使用listen方法绑定端口3000。
通过req, res参数来接收和响应数据。

//httpserver.js
const http = require('http');
const url = require("url");
const util = require('util');
const querystring = require('querystring');
const port = 3000;
http.createServer((req, res) => {
    res.statusCode = 200,
    res.setHeader('Content-Type', 'text/plain;charset=utf-8');
    if(req.method === 'GET') {
        toGet(req, res);
    }else if(req.method === 'POST') {
        toPost(req, res);
}).listen(port, () => {
    console.log(`Server listening on: http://localhost:${port}`);
//获取GET请求内容 
function toGet(req, res){
    let data = 'GET请求内容:\n' + util.inspect(url.parse(req.url)); 
    res.end(data);
    console.log(data);
//获取POST请求内容、cookie 
function toPost(req, res){
    // 定义了一个data变量,用于暂存请求体的信息
    let data = '';
    // 通过req的data事件监听函数,每当接受到请求体的数据,就累加到post变量中
    req.on('data', function(chunk){    
        data += chunk;
    // 在end事件触发后,通过querystring.parse将post解析为真正的POST请求格式,然后向客户端返回。
    req.on('end', function(){    
        //data = querystring.parse(data);
        //res.end('POST请求内容:\n' + util.inspect(data));
        data = 'POST请求内容:\n' + data;        
        res.end(data);
        console.log(data);
        console.log('cookie内容:\n' + req.headers.cookie);

在命令行提示符窗口运行node httpserver.js启动

>node httpserver.js
Server listening on: http://localhost:3000

 二、发送GET请求

//httpget.js
const http = require('http');
const options = {
    host: 'localhost',
    port: 3000,
    path: '/test?id=1',
    method: 'GET'
const req = http.request(options, res => {
    console.log(`状态码: ${res.statusCode}`);
    res.on('data', d => {
        process.stdout.write(d);
req.on('error', error => {
    console.error(error)
req.end();

打开一个新的命令行提示符窗口运行node httpget.js

>node httpget.js
状态码: 200
GET请求内容:
Url {
  protocol: null,
  slashes: null,
  auth: null,
  host: null,
  port: null,
  hostname: null,
  hash: null,
  search: '?id=1',
  query: 'id=1',
  pathname: '/test',
  path: '/test?id=1',
  href: '/test?id=1'

三、发送POST请求,带cookie

//httppost.js
const http = require('http');
const cookie = 'id=1;name=lc;';
const data = JSON.stringify({
  name: 'lc'
const options = {
    host: 'localhost',
    port: 3000,
    path: '/test2',
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'Content-Length': data.length,
        'Cookie': cookie
const req = http.request(options, res => {
    console.log(`状态码: ${res.statusCode}`);
    res.on('data', d => {
        process.stdout.write(d);
req.on('error', error => {
    console.error(error);
req.write(data);
req.end();

打开一个新的命令行提示符窗口运行node httppost.js

>node httppost.js
状态码: 200
POST请求内容:
{"name":"lc"}

服务器的命令行提示符窗口输出:

POST请求内容:
{"name":"lc"}
cookie内容:
id=1;name=lc;

使用supervisor自动重启服务器

上面服务器端httpserver.js代码每次有改动,都需要Ctrl+C退出再重新node httpserver.js运行,这是因为Node.js在第二次后访问的是内存,避免重复载入。
解决方法是使用npm安装supervisor,它会监视对代码的改动并自动重启Node.js。

npm install -g supervisor

启动服务器改为使用:

supervisor httpserver.js
前言:AJAX的盛行,使得浏览器与服务器之间的交互越来越强大,我们需要通过 HTTP 通信,并从中提取出请求的 URL 以及 GET/POST 参数。随后需要根据这些数据来执行相应的操作,从而实现前后端交互。  一、获取GET请求流程 1、首先和以前一样,在server.js同目录下创建一个act文件夹,并在里面创建一个index1.html文件夹。index1.html代码为: 除了方法: server.addRoute(方法,模式,处理程序,格式) -为请求的路径匹配模式添加路由处理程序 server.get(pattern,handler)-server.addRoute( 'GET',pattern,handler)的简写 server.post(模式,处理程序,格式) -server.addRoute('POST',模式,处理程序,格式)的简写 server.put(模式,处理程序,格式) -server.addRoute('PUT',模式,处理程序,格式)的简写 server.del(pattern,han Nginx、Apache:负责接受HTTP请求,确定谁来处理请求,并返回请求的结果 php-fpm / php模块:处理分配给自己的请求,并将处理结果返回给分配者 常见请求种类: 请求文件:包括静态文件(网页、图片、前端JavaScript文件、css文件…),及由程序处理得到的文件 完成特定的操作:如登录、获取特定数据等 GET-POST-Requests-in-Node.js-Using-Express-4 Node.js 中使用 Express 4 的 GET 和 POST 请求 节点和 npm 克隆仓库:git clone 安装依赖项:npm install 启动服务器:节点 server.js 网站应用程序分为两部分:客户端和服务端; 客户端:在浏览器运行的部分,就是用户看到并与之交互的界面程序,使用html和css和js构建; 服务端:在服务器中运行的部分,负责存储数据和处理应用逻辑; 1.2node服务器 能够提供网站访问服务的机器就是网站服务器,它能接收客户端的请求,能够对请求作出响应; 1.3 IP地址 互联网中设备... 项目地址题目设计一个模拟HTTP服务端程序自己设计一个WEB的程序,监听80端口。支持多客户端连接,能满足客户的HTTP请求(浏览器访问),包括以下功能:1.基本功能:get、post(带数据请求)、head请求2.模拟登陆访问,页面redirector功能(设计登陆页面login.html、主页index.html,如果直接访问index.html则跳转到登陆页面,只有登陆后才能打开主页)3.其... node发送post请求 There are many ways to perform an HTTP POST request in Node, depending on the abstraction level you want to use. 有多种方法可以在Node中执行HTTP POST请求,具体取决于您要使用的抽象级别。 The simplest way to perform an HTTP request using Node is to use the Axios library: const http = require('http'); let counter = 0 const server = http.createServer((req,res) =>{ res.end(`${++counter}`) server.listen(3000); http-server 是一个简单的零配置命令行HTTP服务器, 基于 nodeJs. 如果你不想重复的写 nodeJs 的 web-server.js, 则可以使用这个. http-server所用场景: 作为前端的同学来说,想要运行一段代码,但又没有必要使用tomcat或是Apache http server放在服务器上运行,这个时候,一个简单的轻量的http-server就能搞... node.js建立服务器的简便会让你乍舌的,看官请往下瞅 脚本var http = require('http'); http.createServer(function(req,res){ res.writeHead(200,{'Content-Type':'text/html'}); res.write('<h1>Node.js</h1>') res.end('<p>He 从前端向服务器请求数据会有很多跨域显示,而别人的服务器我们不进行修改,不能说让人家返回jsonp或者打开cors访问权限,所以我们可以使用node来获取数据(因为服务器之间是没有跨域访问的限制的),然后通过node将获取到的数据传递给浏览器。 eg:获取猫眼网站的数据 get.html get.js 网页输出: 小问题:httpget(res)直接将res对象传递过去,不太好不利于解耦。 所以做如下改进:将参数写成回调函数,传递过去。 post请求 post请求比get请求更安全post.js 通过nodejs搭建HTTP服务器 nodejs是一个用于解析执行javaScript代码的环境(它不是语言,不是框架),通过nodejs,javaScript可以完全脱离浏览器运行,也可以用于搭建服务器。 安装好nodejs 搭建HTTP服务器,我们需要Nodejs提供的API 加载nodejs提供的API—http,此模块的职责就是创建并编写服务器 通过http.createserver()方法创建一个web const http = require('http');//请求http.createServer(function(request, response){ /*createServer该函数用来创建一个HTTP服务器,并将 requestListener 作为 request 事件的监听函数 由于该方法属于http模块,使用前需要引入http模块 (http = requ...