nodejs中axios爬坑

    技术2022-07-13  74

    axios是一个nodejs的请求工具,功能强大,同时。。也有很多坑,记录下自己爬过得坑

    axios 中的基础用法 res = await axios({ url: 'http://url/inteface', method: 'post', data: data, params:params });`

    url 接口地址 method 方法(ps:axios支持很多 不过最常用的就是 get post) data是post带过去的参数 params是get带过去的参数

    axios 中 headers res = await axios({ method: 'post', url: deal_interface, params :deal_param, headers: { 'Content-Type': 'application/x-www-form-urlencoded' } });

    接口只接受form形式的参数,那你就要显式指定headers 否则接口容易收不到数据。不填好像默认是json形式。

    data params 参数 res = await axios({ method: 'post', url: deal_interface, // data: deal_param, params :deal_param, transformRequest: [function (data) { let ret = '' for (let it in data) { ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&' } return ret }], headers: { 'Content-Type': 'application/x-www-form-urlencoded' } });

    正常post参数是data,get参数是params。但是有些接口比较奇葩,他是post接口但是参数要放在url后面跟get一样。。这个坑了我一下午。 这种post后面带参数的形式可以用 transformRequest 来实现,如demo所示。

    axios还是很强的,详见文档 https://www.npmjs.com/package/axios

    Processed: 0.013, SQL: 9