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 ...
随机推荐
- EIGRP-4-调整接口度量参数来影响路径选择
从EIGRP度量参数的讨论中可以看出.能够手动配置的EIGRP度量参数只有带宽和延迟. 通过使用bandwidth命令强迫EGIRP使用或不使用某条特定路径.看起来是一个很有吸引力的做法.不过这个问题 ...
- 加注解时插入权限切面@EnableDataSecurity
import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.an ...
- 关于Spring @RequestBody 自动映射模型原理
关于Spring @RequestBody 自动映射模型 2016年10月18日 22:17:12 稻子丶 阅读数:5049 在很多时候,Spring的注解为我们提供了很多方便,但只知道其用法,不 ...
- Unity PlayerPrefs
对于游戏存档,储存最高分,排行榜都需要用到储存,现在存储的方式有很多,可以存本地的Json,XML,Sqlite,还有一种就是unity自带的一种存储PlayerPrefs. 那么这个PlayerPr ...
- Hadoop文件压缩
1. Hadoop的文件压缩需求 文件压缩对于大容量的分布式存储系统而言是必须的,它能带来两个好处: 1)减少了文件所需的存储空间: 2)加快了文件在网络上或磁盘间的传输速度. 2. Hadoop支持 ...
- 10 - EmbeddedChannel-测试ChannelHandler链
方法 职责 writeInbound(Object... msgs) 将入站消息写入到EmbeddedChannel中 readInbound() 从EmbeddedChannel中读取一个入站消息, ...
- maven安装,使用说明,及maven Repository如何使用.
maven的使用方法总结一下 1.首先去apache官网下载maven, http://maven.apache.org/download.cgi2.如果是windows系统,选择 apache-ma ...
- <邮件的反垃圾反病毒>
本章——发送接收邮件的工具为雷鸟 安装 # yum install dovecot-mysql.x86_64 dovecot.x86_64 -y 编辑文件 vim 10-mail.conf mail_ ...
- jQuery判断动画是否执行完成
JS $(function() { $("#myDiv").bind("click", function() { if ($(this).css("t ...
- 自定义控件使用GDI+绘制旋转Label文字
http://www.cnblogs.com/CUIT-DX037/ 1.添加用户控件: 2.添加代码: public partial class UcLabel : UserControl { pu ...