Skip to content

In Bun unterstützt fetch das Senden von Anfragen über einen HTTP- oder HTTPS-Proxy. Dies ist in Unternehmensnetzwerken nützlich oder wenn Sie sicherstellen müssen, dass eine Anfrage über eine bestimmte IP-Adresse gesendet wird.

ts
await fetch("https://example.com", {
  // Die URL des Proxy-Servers
  proxy: "https://username:password@proxy.example.com:8080",
});

Die proxy-Option kann ein URL-String oder ein Objekt mit url und optionalen headers sein. Die URL kann den Benutzernamen und das Passwort enthalten, wenn der Proxy eine Authentifizierung erfordert. Sie kann http:// oder https:// sein.


Benutzerdefinierte Proxy-Header

Um benutzerdefinierte Header an den Proxy-Server zu senden (nützlich für Proxy-Authentifizierungstokens, benutzerdefiniertes Routing usw.), verwenden Sie das Objektformat:

ts
await fetch("https://example.com", {
  proxy: {
    url: "https://proxy.example.com:8080",
    headers: {
      "Proxy-Authorization": "Bearer my-token",
      "X-Proxy-Region": "us-east-1",
    },
  },
});

Die headers-Eigenschaft akzeptiert ein einfaches Objekt oder eine Headers-Instanz. Diese Header werden direkt an den Proxy-Server in CONNECT-Anfragen (für HTTPS-Ziele) oder in der Proxy-Anfrage (für HTTP-Ziele) gesendet.

Wenn Sie einen Proxy-Authorization-Header angeben, überschreibt dieser alle in der Proxy-URL angegebenen Anmeldeinformationen.


Umgebungsvariablen

Sie können auch die Umgebungsvariable $HTTP_PROXY oder $HTTPS_PROXY auf die Proxy-URL setzen. Dies ist nützlich, wenn Sie denselben Proxy für alle Anfragen verwenden möchten.

sh
HTTPS_PROXY=https://username:password@proxy.example.com:8080 bun run index.ts

Bun von www.bunjs.com.cn bearbeitet