HTTP---get/request
http.request(options[ , callback]); 接收两个参数 option ,回调函数,回调函数是一个可选参数,通过回调函数可以接收到远端相应数据。 第一个参数可以是字符串,也可以是对象,如果是字符串,会被URL模块的方法解析成对象,如果是对象就可以进行一系列的配置,定制发出格式。
相关参数
- host : 将要请求的服务器域名,ip地址
- hostname : host别名
- port : 远端服务器端口,默认值80
- localAddress : 绑定连接的本地接口
- method :指定http请求方法的字符串,默认为get
- path : 请求路径默认是 /
- headers : 包含请求头的一个对象
- auth : 用来计算认证头的基本认证 user +password
- agent : 控制行为、代理
- keepAlive : 保持资源周围的套接字,在未来能继续用到其他请求。默认值为false
request完成评论的提交
//评论模块
var http = require('http');
var queryString = require('querystring'); //把一个对象序列化
var postData = queryString.stringify({
'content' :'期待中午吃什么',
'cid' :348
})
var options = {
hostname :'www.imooc.com',
port :80,
path :'/course/document',
method :'post',
headers :{}
}
var req = http.request(options, function(res){
//打印网络请求成功后的状态码
console.log('Status:' +res.StatusCode);
console.log('headers:' +JSON.stringify(res.headers));
//接收数据时Node是以流的形式来发送上来会触发一个 ondata事件。
//为data事件注册一个回调函数用来接收数据
res.on('data',function(chunk){ //数据是buffer类型
console.log(Buffer.isBuffer(chunk));
console.log(typeof chunk);
})
//数据接收完毕,网络关闭后会触发end事件
res.on('end',function(){
console.log('评论完毕');
})
}) ;//拿到返回对象
req.on('error',function(e){
console.log('Error :' + e.message);
})
req.write(postData)
req.end();