如何在node.js中使用nodegeocoder和proxy



我的node.js服务器在vm上运行,上面有一个代理。现在我使用node-geocodernode-geocoder获得latlng,就像这个一样

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"

这不是文档中列出的httphttps选项。

参考:https://github.com/nchaulet/node-geocoder/issues/190

这个答案假设您已经在标准设置中设置了代理变量(所以从终端执行curl example.com会返回预期输出(。如果您没有设置代理env变量,则需要首先进行配置。

最新更新