node.js - NodeJS请求——如何从环境中禁用自动代理

标签 node.js

我正在使用请求 npm 模块在我的程序中发出 http 请求。请求的默认行为似乎是在环境中定义时尝试使用代理服务器。

我正在多个开发人员使用的共享 unix 服务器中对此进行测试,他们不断更改代理设置。此外,我不需要代理,因为我直接连接局域网内的其他网络服务。

那么,有没有办法告诉“请求”不要使用代理选项,即使它是在环境中设置的?

最佳答案

致谢@mh-cbon 在评论中。在此处进行编码以完成答案。

在启动 nodejs 之前清空配置的代理

HTTPS_PROXY="" node script.js

或者使用 NO_PROXY,禁用指定模式(或所有模式)的代理

NO_PROXY="*" node script.js

或者在您的 Node js 脚本中,在加载和使用请求模块之前执行上述操作。

// Disable proxy from being used by request module
process.env["NO_PROXY"]="";

// Then go on as per normal
const request = require("request")
... do stuff ..

关于node.js - NodeJS请求——如何从环境中禁用自动代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37235157/

相关文章:

node.js - 在将 Passport 与 koa 一起使用时尝试生成 jsonwebtoken 时 ctx.passport 未定义?

database - Sequelize 字段关联不起作用

javascript - 为什么当值为 false(它是 bool 值)时我无法传递过滤后的数据

linux - Node js + Nginx + 亚马逊 Linux + SSL

javascript - 用模拟函数替换 nodejs 模块中的函数

javascript - 在 Express 中显示每个请求的日志时间?

javascript - Express.js 的 http2 协议(protocol)的最佳选择

javascript - request(...).then 在发出 POST 请求时不是函数错误

node.js - 如果尚未安装,如何全局安装 npm 包?

javascript - 在 Node Js 中使用不同的参数连续运行一个函数