这通常是因为目标URL设置了登录认证。解决方法有两种:
1.在Axios请求中添加认证参数,以通过登录认证,获取到目标URL的数据。具体代码示例如下:
axios.get('http://example.com/data', {
auth: {
username: 'YOUR_USERNAME',
password: 'YOUR_PASSWORD'
}
})
2.通过设置cookieJar,保存登录信息,以通过认证并在后续请求中使用登录信息,获取目标URL的数据。具体代码示例如下:
const tough = require('tough-cookie');
const axiosCookieJarSupport = require('axios-cookiejar-support').default;
const cookieJar = new tough.CookieJar();
axiosCookieJarSupport(axios);
axios.defaults.jar = cookieJar;
axios.post('http://example.com/login', {
username: 'YOUR_USERNAME',
password: 'YOUR_PASSWORD'
}).then(() => {
// 登录成功后再次请求获取数据
axios.get('http://example.com/data')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});
}).catch(error => {
console.log(error);
});
下一篇:Axios获取到无法渲染的数据