date:
updated:

Node下使用Axios的基本需求


主要是为爬虫服务的cookies解析和编码处理等

首先建议使用Typescript开发的起手式初始化项目:Github

需要的基本依赖:

1
2
3
4
5
6
7
8
{
"axios": "^0.19.2",
"cheerio": "latest",
"tough-cookie": "^4.0.0",
"core-js": "^3.6.5",
"axios-cookiejar-support": "^1.0.0",
"iconv-lite": "^0.6.0"
}

其中cheerio为解析HTML文档需要的,可以不使用。core-js为支持ES6风格的生成器需要的。iconv-lite为解析其他编码需要的(主要是GBK)。

导入区

1
2
3
4
5
6
import 'core-js/index'
import 'regenerator-runtime'
import Axios from "axios";
import axiosCookieJarSupport from "axios-cookiejar-support";
import tough from 'tough-cookie'
import iconv from 'iconv-lite'

基本配置
1
2
3
4
const axios = Axios.create() //创建Axios实例
axiosCookieJarSupport(axios)//对实例支持Cookies
axios.defaults.jar = new tough.CookieJar()//设置默认CookiesJar
axios.defaults.withCredentials = true//必须加上这个才能在发送请求的时候带上Cookies

在发送请求的配置项中,可以加上responseType:"arraybuffer"使得接受的响应不进行解码,然后使用iconv解码:
1
iconv.decode(res.data,'gbk')


← Prev 沈阳游记 | 一道与零点数量有关的导数题的解析 Next →
打赏
支付宝 | Alipay
微信 | WeChat