Node第二天
一、http模块:
步骤一:创建http服务器 const https = require('https');
步骤二:const fs = require('fs');
步骤三:创建请求=》
let request =https.request({
hostname:''
})
注:
const http = require('https');
const fs = require('fs');
const url = require('url');
//请求的信息
let urlObj = {
pathname:'/v2/movie/top250',
query:{
start:1,
count:10
}
}
//创建请求
const request = http.request({
port:443,
method:"GET",
hostname:'api.douban.com',
path:url.format(urlObj)//组装请求路径和请求参数
},(response)=>{
//接收请求成功的回调
//response:后台相应应该请求的相应对象
//建立连接,并没有开始接受数据
console.log('建立连接,得到响应');
//开始接收数据
let result ='';
response.on('data',(buffer)=>{
console.log('接收到了数据);
result += buffer;
})
response.on('end',()=>{
console.log('接收完成,断开连接');
fs.writeFilleSync('./data.json',result);
})
})
request.on('error',(error)=>{
console.log('请求出错了') ;
console.log(error);
})
request.end();
二、创建服务器:
const http = require('http');
const fs = require('fs');
//一个完整的http事物过程:
1.客户端(网页,应用,ios,andtoid...)发送请求给服务器
2.服务器接受请求
3.对请求进行分析处理
4. 响应客户端
5.客户端得到响应,处理数据
步骤一:创建服务器
const server = http.createServer(()=>{
console.log('启动服务器成功')
})
//接受请求
server.on('request',(request,response)=>{
//request客户端的请求对象
//response服务器将要访问的数据返回给客户端
//对请求进行分析处理;
//let urlObj = request.url;
//响应客户端
response.write('')
response.end('test');
})
步骤二:启动监听,服务器开始工作了
server.listen(8080);
Node第二天的更多相关文章
- Cocos2d-X3.0 刨根问底(五)----- Node类及显示对象列表源码分析
上一章 我们分析了Cocos2d-x的内存管理,主要解剖了 Ref.PoolManager.AutoreleasePool这三个类,了解了对象是如何自动释放的机制.之前有一个类 Node经常出现在各种 ...
- node学习 process笔记
如果你是node大神好了可以关闭此页面了因为接下来游览会白白浪费你许多时间,最近一直学习node.js今晚看到 alsotang 在 github上的node教程 https://github.com ...
- node.js核心模块
全局对象 global 是全局变量的宿主 全局变量 在最外层定义的 全局对象的属性 隐士定义的变量(未定义直接赋值的变量) 当定义一个全局变量时 这个变量同时也会成为全局对象的属性 反之亦然 注意: ...
- 10.Node.js核心模块
1.全局对象2.常用工具3.事件机制4.文件系统访问5.HTTP服务与客户端 一.全局对象(Global Object), 与window对象一样 process ==> 全局变量, 描述当前N ...
- JavaScript数据结构——树
树:非顺序数据结构,对于存储需要快速查找的数据非常有用. 二叉树:二叉树中的节点最多只能有两个子节点(左侧子节点和右侧子节点).这些定义有助于我们写出更高效的向/从树中插入.查找和删除节点的算法. 二 ...
- Nodejs开发指南-笔记
第三章 异步式I/O与事件编程3.1 npm install -g supervisor supervisor app.js 当后台修改代码后,服务器自动重启,生效修改的代码,不用手动停止/启动3.2 ...
- Nodejs核心模块
(1)全局对象 在浏览器JS中,通常window是全局对象,而nodejs中的全局对象是global,所有全局变量都是global对象的属性. 在nodejs中能够直接访问到的对象通常都是global ...
- JavaScript树(二) 二叉树搜索
TypeScript方式实现源码 // 二叉树与二叉树搜索 class Node { key; left; right; constructor(key) { this.key = key; this ...
- js数据结构与算法——二叉树
function BinaryTree(){ var Node = function(key){ this.key = key; //值 this.left = null; //左箭头 this.ri ...
随机推荐
- linux下find查找与批量替换文件中指定内容
经常在部署tomcat时需要替换配置文件中的ip,find命令批量替换还是很方便的 查找需要替换的ip,看看哪些文件有配置这个ip,执行下面命令: find ./ -type f -regex &qu ...
- 牛客假日团队赛1 D.Promotion Counting
链接: https://ac.nowcoder.com/acm/contest/918/D 题意: Bessie the cow is helping Farmer John run the USA ...
- Codeforces Round #363 (Div. 2) B
Description You are given a description of a depot. It is a rectangular checkered field of n × m siz ...
- 【ACM】拦截导弹 - 0-1背包问题
拦截导弹 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到 ...
- 【ACM】大数阶乘 - Java BigInteger实现
大数阶乘 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它? 输入 输入一个整数 ...
- jdbc 开启事务
package com.itheima.tx; import java.sql.Connection; import java.sql.PreparedStatement; import java.s ...
- Zookeeper启动失败:java.net.BindException: Address already in use
错误日志如下: [hadoop@master zookeeper-3.4.5-cdh5.10.0]$ cat zookeeper.out 2018-05-15 01:29:21,036 [myid:] ...
- HTML常用标签参考学习
1.跑马灯标签 功能<marquee>...</marquee> 普通卷动<marquee behavior=slide>...</marquee> 滑 ...
- jQuery 结构的实现思路
前提: 使用 JS 创建对象的最优办法,是 原型模式. step1: 原型模式的基础使用方式 function fn(){} fn.prototype = {} var ...
- C 碎片九 预处理&位运算&文件操作
一.预处理 预处理语句:#开头的语句,在预处理阶段处理预处理语句.包括宏定义.文件包含处理.条件编译 1, 宏定义 1. 不带参数宏定义:#define 标识符 字符串 #define PI 3.1 ...