node.js - 在 node.js 中下载接收零字节
问题描述
我正在尝试从某个 url 下载一个 json 文件,这样我就可以从 rec.net 获取用户信息,但它总是返回零字节的信息,我找到了我需要下载的所有 json 文件。下载在一个名为 dwn 的函数中运行,该函数具有多种类型的下载,我什至尝试在函数外部的 dwn 中运行相同的代码,但仍然是零字节。网址没有json结尾,很奇怪,我也可以在浏览器中下载文件。我还做了一个简单的 json for 循环。这是我的代码:
const fs = require('fs');
const http = require('http');
const apiver = "/v4/";
// after add type and ver
const apibaseurl = "http://api.rec.net/api/";
const imgbaseurl = "http://img.rec.net/";
const id = 6286306;
const accurl = `http://accounts.rec.net/account/${id}`;
const biourl = `${accurl}/bio`;
const imgurl = `${apibaseurl}images${apiver}player/`;
const skipperamnt = "?skip=0&take=4096";
function dwn(type, url, name) {
if (type == 1) {
const file = fs.createWriteStream(name);
const request = http.get(`${url}`, function(response) {
response.pipe(file);
});
} else if (type == 2) {
const file = fs.createWriteStream("rrfetch.json");
const request = http.get(`${imgurl}${id}${skipperamnt}`, function(response) {
response.pipe(file);
});
} else {
console.log("wrong int supplied in type spot bruh moment u stupid :(((")
}
}
console.log(`${accurl}`);
dwn(1, `${accurl}`, "accname.json");
dwn(1, `${biourl}`, "bio.json");
dwn(2, "", "");
try {
// const imgdata = fs.readFileSync('./rrfetch.json', 'utf8');
const usrdata = fs.readFileSync('./accname.json', 'utf8');
// parse JSON string to JSON object
// const rrimgdata = JSON.parse(imgdata);
const rrusrdata = JSON.parse(usrdata);
rrusrdata.forEach(usr => {
console.log(`Player Username: ${usr.username}, Player Display Name: ${usr.displayName}`);
});
// print all databases
/* rrimgdata.forEach(img => {
console.log(`Image Name: ${img.ImageName}, People in Image: ${img.TaggedPlayerIds}, Uploader: ${img.PlayerId}`);
dwn(1, `${imgbaseurl}${img.ImageName}`, `${img.ImageName}`);
});
*/
} catch (err) {
console.log(`${err}`);
}
解决方案
推荐阅读
- vuex - Vuex:如果状态中没有数据,则 getter 调度动作
- django - 在 django 中使用令牌身份验证,但我需要获取用户会话长度?
- javascript - BehaviourSubject.getValue() 返回默认值
- php - SplMinHeap 或 SplMaxHeap 是否在逻辑上实现 Traversable 接口?
- java - 具有多个输出参数的 JPA 2.1 @Procedure
- c++ - C++/WinRT 运行时组件返回大数组
- ansible - 如何使用ansible中的字典列表在字典中循环?
- python - 如何将列表转换为字典
- json - 将json数据转换为角度2+的对象
- python - 如何按字典键在文件中的外观对它们进行排序