Skip to content

En Bun, fetch soporta enviar solicitudes a través de un proxy HTTP o HTTPS. Esto es útil en redes corporativas o cuando necesitas asegurar que una solicitud se envíe a través de una dirección IP específica.

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

La opción proxy puede ser una cadena URL o un objeto con url y headers opcionales. La URL puede incluir el nombre de usuario y contraseña si el proxy requiere autenticación. Puede ser http:// o https://.


Encabezados de proxy personalizados

Para enviar encabezados personalizados al servidor proxy (útil para tokens de autenticación de proxy, enrutamiento personalizado, etc.), usa el formato de objeto:

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 propiedad headers acepta un objeto plano o una instancia Headers. Estos encabezados se envían directamente al servidor proxy en solicitudes CONNECT (para destinos HTTPS) o en la solicitud proxy (para destinos HTTP).

Si proporcionas un encabezado Proxy-Authorization, anulará cualquier credencial especificada en la URL del proxy.


Variables de entorno

También puedes establecer la variable de entorno $HTTP_PROXY o $HTTPS_PROXY a la URL del proxy. Esto es útil cuando quieres usar el mismo proxy para todas las solicitudes.

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

Bun por www.bunjs.com.cn editar