关于axios的使用整理

关于axios的使用整理

月光魔力鸭

2019-11-15 17:23 阅读 1888 喜欢 0 axios axios整理

axios 是什么?

易用、简洁且高效的http库

axios 资料

axios 常用

对于我来说,一般都是用在nodejs方面使用的,具体使用的业务都有:

请求api获取数据
let axios = require('axios');
let data = await axios.get(url).then(rs=>rs.data);
console.log(data);
let axios = require('axios');
let data = await axios.post(url,data).then(rs=>rs.data);
console.log(data)

或者

let axios = require('axios');
let data = axios({
    url : url,
    data : data
}).then(rs=>rs.data);

这种就是最最常用的了.. 到处都是,应该也没什么问题的。

请求页面解析

再就是会写爬虫,爬一些页面数据,我一般都是cheerioaxios 组合。 那么要注意的地方就是header 了,这个文档中都有,简单一记录。

axios.get(url,{
    headers : {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'
    }
}).then(rs=>rs.data);

解析html

let cheerio = require('cheerio');
let $ = cheerio.load(html);
//之后就是类似jquery的语法了。 

遇到中文乱码的怎么搞?

//gbk编码转utf8的,大部分都说是处理下Content-type ,这个没有验证过。
axios({
    url : url,
    headers : {
        'Content-type':'application/x-www-form-urlencoded;charset=utf-8'
    }
})

//还遇到是unicode编码的中文的,这个直接在返回后的cheerio处理了。
let html =await axios.get(url).then(rs=>rs.data);
let $ = cheerio.load(html);
const text = $('#content').text();//这里会乱码
let entities = require('html-entities').XmlEntities;
let entitiesIns = new entities();
const rightTxt = entitiesIns.decode(text);//正常的内容啦
请求文件或图片下载

做爬虫的时候,难免会下载些美图啊啥的.. 哈哈

//方式还是挺多的,我常用的是stream
let fs = require('fs');
axios({
    url : url,//图片地址
    method : 'GET',
    responseType : 'stream'
}).then(rs=>{
    var ws = fs.createWriteStream('./xxoo.jpg');
    rs.data.pipe(ws);
    ws.on('end',()=>{});
}

暂记这些,后续碰到关于axios的问题,同步更新在这里。

转载请注明出处: https://chrunlee.cn/article/nodejs-axios-note.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
对于web开发过程中的JS对象 Array ,我们真的充分使用了么?是不是理解了Array的全部?能够在合适的地点调用合适的函数,使用合适的属性?
现象:在IOS中,jsp页面绑定的点击事件,点击后延迟很大,接近1000ms,反应很慢
最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号。求最大公约数有多种方法,常见的有质因数分解法、短除法、辗转相除法、更相减损法。与最大公约数相对应的概念是最小公倍数,a,b的最小公倍数记为[a,b]。
最近折腾的少了,实在没的写了,大约三四个月没更新了,先水一篇。
突然来了一个调研任务,想要实现一个类似3D虚拟展厅类似的需求,主要就是放一些学生的作品,然后预览啥的,效果还是要全景的效果。 经过一番调查,最终锁定了以前从未接触过的krpano。
通过jspdf ,我们可以将页面或图片生成pdf下载下来,如果是一些复杂的页面,我们可以将页面转成图片,然后把图片加入到pdf中,生成并下载。
在我们通过canvs画图的时候经常会用到圆,且需要计算出圆上某点的坐标,由于我数学没学好,总是记不得怎么获取,这里记录下,加深记忆
在使用echarts 来做统计报表的时候,由于数量较多,准备将同类型的相同属性抽取出来,然后用来做默认属性的。结果发现一个问题