Skip to content

In Bun, fetch supporta l'invio di richieste tramite un proxy HTTP o HTTPS. Questo è utile nelle reti aziendali o quando è necessario garantire che una richiesta venga inviata tramite un indirizzo IP specifico.

ts
await fetch("https://example.com", {
  // L'URL del server proxy
  proxy: "https://username:password@proxy.example.com:8080",
});

L'opzione proxy può essere una stringa URL o un oggetto con url e headers opzionali. L'URL può includere nome utente e password se il proxy richiede autenticazione. Può essere http:// o https://.


Header proxy personalizzati

Per inviare header personalizzati al server proxy (utile per token di autenticazione proxy, routing personalizzato, ecc.), usa il formato oggetto:

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",
    },
  },
});

La proprietà headers accetta un oggetto plain o un'istanza Headers. Questi header vengono inviati direttamente al server proxy nelle richieste CONNECT (per destinazioni HTTPS) o nella richiesta proxy (per destinazioni HTTP).

Se fornisci un header Proxy-Authorization, questo sovrascriverà eventuali credenziali specificate nell'URL del proxy.


Variabili d'ambiente

Puoi anche impostare la variabile d'ambiente $HTTP_PROXY o $HTTPS_PROXY sull'URL del proxy. Questo è utile quando vuoi usare lo stesso proxy per tutte le richieste.

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

Bun a cura di www.bunjs.com.cn