Nodejs 相当于向服务器发送一个 GET 请求以从 API 获取数据

尼基尔

这是我试图从https://geocode.xyz/?locate=Warsaw,Poland&json=1.

当我在浏览器或 Postman 中运行它时,我得到了成功的响应。这是预期的输出片段。

{“标准”:{“地址”:{},“城市”:“华沙”,
“省”:“PL”,“国家”:“波兰”,“邮政”:{},
“信心”:“0.7 " }, "longt" : "21.03539", "alt" : {
"loc" : { "longt" : "21.23400", "prov" : "PL",
"city" : "Warsaw", "countryname" : "波兰”,“邮政”:“05-077”,“地区”:{},“latt”:“52.21890”}},“海拔”:{},“latt”:“52.23275”}

我正在尝试使用 nodejs 获得相同的输出。我尝试了默认的 https 和请求模块,但无济于事。这就是我所拥有的:

const request = require('request');

request('https://geocode.xyz/?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('https://geocode.xyz/?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 文档

(...) 对于所有未经身份验证的用户,每秒不超过 1 个请求

您必须创建一个帐户,获取 API 密钥并使用它。你的问题应该得到解决。

您有 10 个请求/秒的免费计划。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java 相当于一个 python GET 请求?

从post请求发送数据以在nodejs中获取请求

设置用于在开发中从Angular向NodeJS发送API请求的服务器端口

ECONNRREFUSED 使用 Nodejs 向 API 发出获取请求时出错

发送HTTPS获取请求时Nodejs axios.get错误

发出请求以在 nodejs 中获取服务器发送的事件

使用数据从nodejs向php Api发布请求

如何向服务器发送请求并获取数据

获取GET请求对API的响应

成功获取数据后如何停止 API GET 请求

使用提取的POST和GET API请求,无法获取数据

如何断言应用程序通过 POST 请求向 API 服务器发送正确的数据

我应该使用网络套接字从服务器提取数据还是只使用一个标志并使用该标志发送 API 数据请求?

从API服务器获取400请求

如何使用NodeJS间隔发送API请求

如何通过GET请求通过提取API发送数据?

发出 POST 请求以休息 api,然后发出 GET 请求以获取正在添加的资源的附加数据

如何将ajax获取请求数据传递到nodejs GET路由?

如何在nodejs中结合API GET请求?

NodeJS从多个http请求获取数据

如何从请求 Nodejs 中获取数据

如何使用 nodejs 发送批量获取请求?

如何在springboot中构建微服务GET api,它可以将单个或多个参数作为插入请求url并获取数据作为请求

AWS API GET请求获取响应“ SignatureDoesNotMatch”

使用 useEffect 向 api 端点发送获取请求未获取数据

jQuery Ajax Post 请求未能将数据发送到 nodejs 服务器

如何为多个SQL Server数据获取请求设置API服务器?

Nodejs + Express:如何获取发出HTTP GET请求的元素?

NodeJS表达使获取请求