mingren1993 发表于 2022-9-14 14:43

node通过axios下载图床的图片,永远是缩略图。

ode通过axios下载图床的图片,永远是缩略图。

通过postman访问正常。
尝试把postman请求header,复制到代码中也无效。
搞不懂哪里出问题了,请求大佬们指点一下。

代码如下:

const { FileBox } = require('file-box');
const fs = require('fs');
const path = require('path');
let rootPath = path.resolve(__dirname);
var request = require('request');
const axios = require('axios').default;

const url = 'https://i.ibb.co/jzBCz6Y/123.jpg';
// const url = "https://i.ibb.co/f9B391W/123.jpg";
// const url = "https://i.ibb.co/sCkTCm4/123.jpg";
async function test() {
const fileBox = FileBox.fromUrl(url);
// console.log(fileBox);
console.log(rootPath);

await fileBox.toFile(rootPath + '/' + new Date().getTime() + '.jpg');
}
// test();

async function test2() {
console.log(rootPath);
// request.head(url, function(err, res, body){
//   request(url).pipe(fs.createWriteStream(rootPath + "/" + (new Date().getTime()) + '.jpg'));
// });

axios({
    method: 'get',
    url: url,
    // responseType: 'stream',
    headers: {
      'User-Agent': 'PostmanRuntime/7.29.2',
      "Accept": '*/*',
      'Cache-control': 'no-cache',
      'Postman-Token': '16aae614-2347-45cc-81be-46d54a4a8572',
      "Host": 'i.ibb.co',
      'Accept-Encoding': 'gzip, deflate, br',
      "Connection": 'keep-alive',
    },
}).then(function (response) {
    console.log(response);
    // response.data.pipe(fs.createWriteStream(rootPath + '/ada_lovelace.jpg'));
});
}
test2();

HK仅輝 发表于 2022-9-14 17:00

是不是图床链接弄错了,图床有缩略图的链接,也有正常图片的链接

mingren1993 发表于 2022-9-14 17:14

HK仅輝 发表于 2022-9-14 17:00
是不是图床链接弄错了,图床有缩略图的链接,也有正常图片的链接

链接没有错。
同样的链接,在浏览器和postman正常访问。
但是通过代码就不行。

下面是链接
https://i.ibb.co/jzBCz6Y/123.jpg

您可以跑一下我发的代码。

夜泉 发表于 2022-9-14 23:45

通过fiddler代{过}{滤}理拦截,看下你代码的header和你post发送的header是不是完全一致的,,,



/**
* 不忘初心,努力前行
*/
页: [1]
查看完整版本: node通过axios下载图床的图片,永远是缩略图。