可能的问题
Axios的POST请求主体默认是json,但api可能只接受x-www-form-urlencoded编码
一方面,header要添加content-type信息,另一方面,需要引入qs库,qs。stringify与json.stringify类似,但转换结果是queryString。
代码
let Axios = require('axios') let Qs = require('qs') function sendSMS(name, time, location, time2, phone) { let data = { "apikey": "密钥", "mobile": phone, "text": `短信模板` }; let headers = { "Content-Type": "application/x-www-form-urlencoded" }; Axios.post('https://sms.yunpian.com/v2/sms/batch_send.json', Qs.stringify(data), { headers } ).then( res => { console.log(res.data) } ).catch( err => { console.error(err) }) } let fs= require('fs') fs.readFile('/Users/guo/Documents/x.csv',function(err,data){ if(err){ console.error(err); }else{ data.toString().split('\n').forEach(function(val){ let [name,phone]=val.split(",").map(val=>val.trim()) sendSMS(name,'13月31日15:20', 'DXa101', '13月30日12:00', phone) }); } })
数据格式
csv 可以从Excel导出,每一行格式 XX,XXX