使用获取i.Node.js从HERE GEO API获得空响应

时间:2020-07-14 09:22:45

标签: node.js geolocation node-fetch

我正在尝试从node.JS代码向“ HERE”地理API发送请求,并得到一个空响应
这就是我在做什么:

const fetch = require('node-fetch');
const http = require('http');
const https = require('https');
const keepAliveAgent = new https.Agent({
    keepAlive: true
});

var lat = '43.293162'
var long = '-85.920004'
var endpoint = 'https://revgeocode.search.hereapi.com/v1/revgeocode?at=' + lat + '%2C' + long + '&apiKey={API_key}'
console.log(endpoint)
here = async function (endpoint) {
    var start_time = new Date().getTime();

    let response = await fetch(endpoint, {
        method: 'GET',
        agent: keepAliveAgent

    });
    console.log(response)
    var time = { 'Here Response': + (new Date().getTime() - start_time) + 'ms' };
    console.log(time)
    return [response.json(), time];

}

响应为:

[
    {},
    {
        "Here Response": "781ms"
    }
]

当我在邮递员中对GET请求使用相同的URL时,我得到的响应正确 enter image description here 我在做什么错了?

1 个答案:

答案 0 :(得分:0)

我使用了这段代码,并且有效了
谢谢

const fetch = require('node-fetch');
const http = require('http');
const https = require('https');
const keepAliveAgent = new https.Agent({
    keepAlive: true
});

var lat = '43.293162'
var long = '-85.920004'
var endpoint = 'https://revgeocode.search.hereapi.com/v1/revgeocode?at=' + lat + '%2C' + long + '&apiKey={API_key}'
console.log(endpoint)
here = async function (endpoint) {
    var start_time = new Date().getTime();

       let response = await fetch(endpoint, {
      method: 'GET',
      redirect: 'follow',
      agent: keepAliveAgent ,
      
    })
  let data = await response.json()
  console.log(data) 
  var time = { 'Here Response': + (new Date().getTime() - start_time) + 'ms' };
  console.log(time)
  return [data];

}
相关问题