Node.js 学习(GET请求)

http.get()

http.get(options[, callback])
http.get(url[, options][, callback])
由于大多数请求都是没有主体的 GET 请求,因此 Node.js 提供了这个便捷的方法。 这个方法与 http.request() 的唯一区别是它将方法设置为 GET 并自动调用 req.end()。 注意,如果没有添加 ‘response’ 事件处理函数,则响应将被完全丢弃。 如果添加了 ‘response’ 事件处理函数,则必须消费完响应对象中的数据,例如当有 ‘readable’ 事件时调用 response.read()、或添加 ‘data’ 事件处理函数、或通过调用 .resume() 方法。 在消费完数据之前,不会触发 ‘end’ 事件。 此外,在读取数据之前,它将占用内存,最终可能导致进程内存不足的错误。回调必须注意消费响应数据。
callback 调用时只有一个参数,该参数是 http.IncomingMessage 的实例。

箭头函数 =>

(x)=>x*x
等价于
function(x){
	return x*x;
}

const ,var,let的区别

  1. const定义的变量不可修改,且必须初始化。
  2. var定义的变量可以修改,如果不初始化会输出undefined,不会报错。
  3. let是块级作用域,函数内部使用let定义后,对函数外部无影响。必须在声明后才能使用。

GET请求

var http = require('http');

http.get('http://www.baidu.com', (req, res) => {
    //箭头匿名函数
    //这里没有为'response'事件添加处理函数,响应会被抛弃
    var html = '';
    console.log('已发送请求');
    //通过'data'事件处理函数,将每次请求获取的数据存入html
    req.on('data', (data) => {
        console.log('\n\n');
        console.log('返回的数据是:');
        console.log(data);
        //这里返回的数据是buffer
        html += data;
    });
    req.on('end', () => {
        console.log('\n\n');
        console.log('最后返回的整体数据是');
        console.log(html);
    })
})

使用http.get()获取网页数据

示例:http://www.runoob.com/nodejs/node-js-get-post.html

var http = require('http');

var option = {
    hostname: 'www.runoob.com',
    port: 80,
    path: '/nodejs/node-js-get-post.html',
    method: 'GET',
    headers: { 'User-Agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
};

http.get(option, (req, res) => {
    //箭头匿名函数
    //这里没有为'response'事件添加处理函数,响应会被抛弃
    var html = '';
    console.log('已发送请求');
    //通过'data'事件处理函数,将每次请求获取的数据存入html
    req.on('data', (data) => {
        console.log('\n\n');
        console.log('返回的数据是:');
        console.log(data);
        //这里返回的数据是buffer
        html += data;
    });
    req.on('end', () => {
        console.log('\n\n');
        console.log('最后返回的整体数据是');
        console.log(html);
    })
})
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值