fetch 支持通过 HTTP 或 HTTPS 代理发送请求。在企业网络中,或请求必须来自特定 IP 地址时,可以使用此功能。
proxy.ts
proxy 选项可以是 URL 字符串、URL 实例,或包含 url(字符串或 URL)以及可选 headers 的对象。如果代理需要身份验证,URL 可以包含用户名和密码。代理协议可以是 http:// 或 https://。
自定义代理请求头
要向代理服务器发送自定义请求头(用于代理身份验证令牌或自定义路由),请使用对象格式:proxy-headers.ts
headers 属性接受普通对象或 Headers 实例。Bun 会在 CONNECT 请求(针对 HTTPS 目标)或代理请求(针对 HTTP 目标)中,将这些请求头直接发送到代理服务器。
如果提供 Proxy-Authorization 请求头,它会覆盖代理 URL 中的任何凭据。
环境变量
要对所有请求使用同一个代理,请将$HTTP_PROXY 和 $HTTPS_PROXY 环境变量设为代理 URL。Bun 仅对 http:// URL 的请求使用 $HTTP_PROXY,仅对 https:// URL 的请求使用 $HTTPS_PROXY,因此请同时设置二者,以便通过代理发送所有请求。
terminal
$ALL_PROXY 会同时应用于这两种 URL。$NO_PROXY 列出了绕过代理的主机。语法请参阅代理请求。
要在单个请求中忽略这些变量,请传入 proxy: false:
direct.ts