Bun 에서 fetch 는 HTTP 또는 HTTPS 프록시를 통해 요청을 보내는 것을 지원합니다. 이는 기업 네트워크에서 또는 특정 IP 주소를 통해 요청이 전송되도록 해야 할 때 유용합니다.
ts
await fetch("https://example.com", {
// 프록시 서버 URL
proxy: "https://username:password@proxy.example.com:8080",
});proxy 옵션은 URL 문자열이거나 url 과 선택적 headers 가 있는 객체일 수 있습니다. 프록시가 인증이 필요한 경우 URL 에 사용자 이름과 비밀번호를 포함할 수 있습니다. http:// 또는 https:// 일 수 있습니다.
사용자 지정 프록시 헤더
프록시 서버에 사용자 지정 헤더를 보내려면 (프록시 인증 토큰 사용자 지정 라우팅 등에 유용) 객체 형식을 사용합니다.
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",
},
},
});headers 속성은 일반 객체 또는 Headers 인스턴스를 허용합니다. 이 헤더는 프록시 서버로 직접 전송됩니다 (CONNECT 요청 (HTTPS 대상의 경우) 또는 프록시 요청 (HTTP 대상의 경우)).
Proxy-Authorization 헤더를 제공하면 프록시 URL 에 지정된 자격 증명을 재정의합니다.
환경 변수
프록시 URL 을 $HTTP_PROXY 또는 $HTTPS_PROXY 환경 변수로 설정할 수도 있습니다. 이는 모든 요청에 동일한 프록시를 사용하려는 경우 유용합니다.
sh
HTTPS_PROXY=https://username:password@proxy.example.com:8080 bun run index.ts