Skip to main content
在 Bun 中,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