node.js - 如何在 node.js 中使用 node-geocoder 和代理?
问题描述
我的node.js
服务器在 vm 上运行,上面有一个代理。现在我用这样的node-geocoder
方式得到lat
lng
node-geocoder
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
or选项。https
参考:https ://github.com/nchaulet/node-geocoder/issues/190
此答案假定您已经在标准设置中设置了代理变量(因此curl example.com
从终端返回预期输出)。如果您没有设置代理环境变量,则需要先配置它。
推荐阅读
- c++11 - 如何使用 wstring_convert 在 utf16 和 utf32 之间进行转换?
- for-loop - 有没有办法从多个栅格堆栈中写入单波段栅格
- python - Python PDF-Redactor 仅部分屏蔽内容
- javascript - 使用 PHP 引用修改 SQL 条目
- google-analytics - 在 Google Analytics 中,我可以将 page 的值设置为任意字符串吗?
- typescript - Nativescript-vue + Typescript - HMR 不适用于 Vue 类组件
- java - 解决java中itext pdf表格的边框宽度问题
- azure - 如何将 appsettings.json 设置包含到 Azure DevOps 构建和发布管道中
- python - 拦截来自浏览器python的https流量
- scala - scala中的仅类型参数方法重载