发送一个GET请求到服务器以从API获取数据的等效的NodeJS
这是我想从/?locate=Warsaw,Poland&json=1
获取数据的API端点。
当我在浏览器或运行邮差这个,我得到一个成功的响应。这是预期的输出片段。
{ “标准”:{ “addresst”:{}, “城市”: “华沙”, “省”: “PL”, “COUNTRYNAME”: “波兰”, “邮政”:{}, “自信”: “0.7”}, “longt”: “21.03539”, “ALT”:{ “LOC”:{ “longt”: “21.23400”, “省”: “PL”, “城市”: “华沙”, “COUNTRYNAME”: “波兰”, “邮政”: “05-077”, “区”:{}, “LATT”: “52.21890”}, “海拔”:{}, “LATT”: “52.23275”}
我试图让使用的的NodeJS相同的输出。我尝试了默认的HTTPS和请求模块无济于事的,但是。这是我有:
const request = require('request');
request('/?locate=Warsaw,Poland&json=1', { json: true }, (err, res, body) => {
if (err) { return console.log(err); }
console.log(body);
});
这是我看到的输出:
{成功:假的,错误:{代码: '006',消息: '请求宋长福' }}
对于免费版本的API预计只有每秒1请求。
节流API接入是免费的。限速:高达每秒1所API调用。 API(节流以每秒不超过一个1个请求为所有可用端口用户组合。例如,如果2级免费的请求来在同一时间,每个被每个请求节流至2秒)。
如何限制我的代码,将只有一个要求吗?我怎么能同时使用浏览器/邮递员得到回应。如何实现使用的的NodeJS预期的一样,成功应对?
这也是我尝试使用HTTPS和我有同样的反应:
const https = require('https');
https.get('/?locate=Warsaw,Poland&json=1', (resp) => {
let data = '';
// A chunk of data has been recieved.
resp.on('data', (chunk) => {
data += chunk;
});
// The whole response has been received. Print out the result.
resp.on('end', () => {
console.log(JSON.parse(data));
});
}).on("error", (err) => {
console.log("Error: " + err.message);
});
回答如下:
从Geocode.xyz doc
(...)每秒不超过1个请求所有未验证的用户组合
你必须创建一个帐户,得到一个API密钥,并用它。你的问题应该得到解决。
你有10个请求/ s的免费计划。
发送一个GET请求到服务器以从API获取数据的等效的NodeJS
这是我想从/?locate=Warsaw,Poland&json=1
获取数据的API端点。
当我在浏览器或运行邮差这个,我得到一个成功的响应。这是预期的输出片段。
{ “标准”:{ “addresst”:{}, “城市”: “华沙”, “省”: “PL”, “COUNTRYNAME”: “波兰”, “邮政”:{}, “自信”: “0.7”}, “longt”: “21.03539”, “ALT”:{ “LOC”:{ “longt”: “21.23400”, “省”: “PL”, “城市”: “华沙”, “COUNTRYNAME”: “波兰”, “邮政”: “05-077”, “区”:{}, “LATT”: “52.21890”}, “海拔”:{}, “LATT”: “52.23275”}
我试图让使用的的NodeJS相同的输出。我尝试了默认的HTTPS和请求模块无济于事的,但是。这是我有:
const request = require('request');
request('/?locate=Warsaw,Poland&json=1', { json: true }, (err, res, body) => {
if (err) { return console.log(err); }
console.log(body);
});
这是我看到的输出:
{成功:假的,错误:{代码: '006',消息: '请求宋长福' }}
对于免费版本的API预计只有每秒1请求。
节流API接入是免费的。限速:高达每秒1所API调用。 API(节流以每秒不超过一个1个请求为所有可用端口用户组合。例如,如果2级免费的请求来在同一时间,每个被每个请求节流至2秒)。
如何限制我的代码,将只有一个要求吗?我怎么能同时使用浏览器/邮递员得到回应。如何实现使用的的NodeJS预期的一样,成功应对?
这也是我尝试使用HTTPS和我有同样的反应:
const https = require('https');
https.get('/?locate=Warsaw,Poland&json=1', (resp) => {
let data = '';
// A chunk of data has been recieved.
resp.on('data', (chunk) => {
data += chunk;
});
// The whole response has been received. Print out the result.
resp.on('end', () => {
console.log(JSON.parse(data));
});
}).on("error", (err) => {
console.log("Error: " + err.message);
});
回答如下:
从Geocode.xyz doc
(...)每秒不超过1个请求所有未验证的用户组合
你必须创建一个帐户,得到一个API密钥,并用它。你的问题应该得到解决。
你有10个请求/ s的免费计划。