node基础(一)——http模块
一、http模块
- http.createSverver()
http是node自带的模块,通过
require("http")的方法载入;使用http创建服务器:
http.createServer(function(request,response){
response.writeHead(200,{"Content-Type":"text/plan"}); //设置返回头
response.write("this is test"); //返回的内容
response.end("end"); //响应结束
}).listen(2017); //设置端口
2.http.get(options[,callback]):发送请求,获取收据,通常不发送请求数据,可用于写爬虫.
options通常是个url;callback是回掉函数。
http.get("http://www.baidu.com/",function(response){
response.on("data",function(data){
// do somethiing
});
response.on("end",function(){
//do something
});
}).on("error",function(error){
console.log(error.message);
})
3.http.request(options[,callback]):发送请求,带请求数据,可用于灌水评论,伪装请求等操作
- options:共11个参数,常用的有5个
hostname:请求的地址,可用于
url.parse()方法得到,类似于www.imooc.com这种写法,不带之后的路径;port:端口;
path:以
/开头,通常是hostname 后面跟的路径,例如/course/docomment;method:通常是POST;
headers:是一个object,可以使用事先正常请求途径获得的response header;
callback:回掉函数,可以打印出请求的结构代码
res.statusCode和JSON.stringify(res.headers)请求头;最后需要将请求数据写道请求体里;最后收到结束请求;
var http = require("http");
var querystring = require("querystring");
var postData = querystring.stringify({
//key:value
});
var options = {
"hostname":"",
"port":"",
"path":"",
"method":"",
"headers":{}
};
var req = http.request(options,function(res){
console.log("status:" +res.statusCode);
console.log("headers:" +JSON.stringify(res.headers));
res.on("data",function(chunk){
//do something
});
res.on("end",function(){
console.log("完成");
})
});
req.on("error",function(e){
console.log(e.message);
})
req.write(postData);
req.end();
node基础(一)——http模块的更多相关文章
- node(基础三)_模块系统基础
一.前言 这篇文章主 ...
- Node基础篇(模块和NPM)
核心模块 核心模块的意义 如果只是在服务器运行JavaScript代码,意义并不大,因为无法实现任何功能(读写文件,访问网络). Node 的用处在于它本身还提供的一系列功能模块,用于与操作系统互动. ...
- node基础04:模块调用
1.模块调用 node遵循AMD规范 //server.js var http = require("http"); var Teacher = require("./t ...
- node基础篇二:模块、路由、全局变量课堂(持续)
今天继续更新node基础篇,今天主要内容是模块.路由和全局变量. 模块这个概念,在很多语言中都有,现在模块开发已经成为了一种潮流,它能够帮助我们节省很多的时间,当然咱们的node自然也不能缺少,看下例 ...
- node.js的http模块的基础 学到的东西
node.js的http模块的基础 学到的东西 其中客户端:我们在node.js中如果要请求服务端中的js或者其他脚本的话要使用http.request()方法他会返回http.ClientReque ...
- Node.js(window)基础(2)——node环境下的模块,模块间调用
参考:http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/00143450241959 ...
- node基础—模块系统
模块的概念 为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块加载系统. 在 Node.js 中,文件和模块是一一对应的(每个文件被视为一个独立的模块),换言之,一个 Node ...
- node基础(二)_模块以及处理乱码问题
一.前言 本次内容主要包括: 1.node.js中的模块系统 2.解决上篇中服务器响应的汉字乱码问题 二.知识 1.node中的模块 分为三种: 核心模块(node定义的如前面用到的fs,http ...
- Node.js入门:模块机制
CommonJS规范 早在Netscape诞生不久后,JavaScript就一直在探索本地编程的路,Rhino是其代表产物.无奈那时服务端JavaScript走的路均是参考众多服务器端语言来 ...
随机推荐
- When an HTTP server receives a request for a CGI script
cgicc: Overview of the Common Gateway Interface https://www.gnu.org/software/cgicc/doc/cgi_overview. ...
- Cocos2dx3.1-Android环境搭建初体验
初玩Cocos2dx,多多包涵. 感觉版本号之间的差异比較大.相对前面的版本号来说.3.X更easy上手.更方便了. 一.安装python.我的python-2.7.3. 配置环境变量 系统变量里:在 ...
- python16_day12【html、css】
一.HTML 所有HTML标签操作 <!DOCTYPE html> <html lang="en"> <head> <!--编码--> ...
- beego——原生SQL查询
使用Raw SQL查询,无需使用ORM表定义. 多数据库,都可直接使用占位符号?,自动转换. 查询时的参数,支持使用Model Struct和Slice,Array ids := []int{1, 2 ...
- Linux Shell编程第2章——Linux文件系统
目录 用户和用户组管理 用户管理常用命令 用户组管理常用命令 文件和目录操作 文件操作常用命令 目录操作常用命令 文件和目录权限管理 文件查找--find 用户和用户组管理 用户管理常用命令 用户的角 ...
- Selenium WebDriver 2.34.0 发布,支持Firefox22
Selenium WebDriver 2.34.0 发布,支持Firefox22http://automationqa.com/forum.php?mod=viewthread&tid=270 ...
- linux命令(6/8):crontab命令
一.crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动cro ...
- spring的线程安全
Spring作为一个IOC/DI容器,帮助我们管理了许许多多的“bean”.但其实,Spring并没有保证这些对象的线程安全,需要由开发者自己编写解决线程安全问题的代码.Spring对每个bean提供 ...
- mysql行列互相转换
列转行: mysql> select * from test; +------+----------+-------+ | id | subject | score | +------+---- ...
- C#属性器Get和Set
public sealed class classroom { private List<string> student = new List<string>(); priva ...