【发布时间】:2020-09-27 18:41:23
【问题描述】:
我有一个网址。当我在浏览器中访问该地址时,它会显示一个 json 文件。我需要在 NodeJs 中获取那个 json 文件。
我该怎么做?
编辑:这是我当前的代码:
const got = require('got');
var url = "https://www.instagram.com/p/CFcyO54Hc7k/?__a=1";
got(url).json().then(result => {
console.log(result);
}).catch(err => {
console.log(err);
});
这是我得到的结果:
Promise { <pending> }
Hint: hit control+c anytime to enter REPL.
RequestError: Unexpected token < in JSON at position 0 in "https://www.instagram.com/accounts/login/?next=/p/CFcyO54Hc7k/%3F__a%3D1"
at Object.parseBody [as default] (/home/runner/VengefulUltimateSdk/node_modules/got/dist/source/as-promise/parse-body.js:22:15)
at /home/runner/VengefulUltimateSdk/node_modules/got/dist/source/as-promise/index.js:157:40
at JSON.parse (<anonymous>)
at parseJson (/home/runner/VengefulUltimateSdk/node_modules/got/dist/source/index.js:118:35)
at Object.parseBody [as default] (/home/runner/VengefulUltimateSdk/node_modules/got/dist/source/as-promise/parse-body.js:11:48)
at /home/runner/VengefulUltimateSdk/node_modules/got/dist/source/as-promise/index.js:157:40
at processTicksAndRejections (internal/process/task_queues.js:97:5) {
name: 'ParseError',
code: undefined,
timings: {
start: 1601274389096,
socket: 1601274389096,
lookup: 1601274389106,
connect: 1601274389117,
secureConnect: 1601274389128,
upload: 1601274389128,
response: 1601274389467,
end: 1601274389511,
error: undefined,
abort: undefined,
phases: {
wait: 0,
dns: 10,
tcp: 11,
tls: 11,
request: 0,
firstByte: 339,
download: 44,
total: 415
}
}
}
我的节点版本是12.16.1
【问题讨论】:
-
@tomerpacific 不,它对我不起作用。我不能得到 json 。
-
@UzaySan 你是什么意思它不起作用?那个帖子有很多答案。你试过几个?我不认为很多,因为您在分享该链接后仅 3 分钟后就回复了。
-
@Sнаđошƒаӽ 是的一堆答案,但他们都建议使用 http 库。当我使用该方法时,我会得到响应标头。不是实际的 json。
-
你想把这个写入文件吗?
标签: javascript node.js get