最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

发送一个GET请求到服务器以从API获取数据的等效的NodeJS

IT培训 admin 4浏览 0评论

发送一个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的免费计划。

发布评论

评论列表 (0)

  1. 暂无评论