我的node.js
服务器在vm上运行,上面有一个代理。现在我使用node-geocoder
从node-geocoder
获得lat
lng
,就像这个一样
const NodeGeocoder = require('node-geocoder');
var geocoder = NodeGeocoder(constants.config.geocoderOptions);
const geoCodeAddress = await geocoder.geocode(address.location);
现在它抛出了一个错误,因为像这样的代理
'request to https://maps.googleapis.com/maps/api/geocode/json?sensor=false&key=my-key&address=Korangi%20Creek failed, reason: getaddrinfo ENOTFOUND maps.googleapis.com maps.googleapis.com:443'
那么,如何在node-geocoder
中传递代理设置呢?
在NodeGeocoder的选项中使用:
httpAdapter: "request"
这不是文档中列出的http
或https
选项。
参考:https://github.com/nchaulet/node-geocoder/issues/190
这个答案假设您已经在标准设置中设置了代理变量(所以从终端执行curl example.com
会返回预期输出(。如果您没有设置代理env变量,则需要首先进行配置。