KYC 없이 — 신분증, 셀카, 문서 없이. 암호화폐로 결제: BTC, USDT, USDC, ETH, SOL, LTC
언어: 한국어
시작하기

프록시 오류 참조 · HTTP 상태 코드

401 Unauthorized vs 407 Proxy Authentication Required

HTTP 상태 코드 (4xx, 클라이언트 오류): 각 도구에서 정확한 메시지, 가능한 원인들의 순서, 그리고 효과적인 해결 방법.

마지막 업데이트: · 3 분 읽기

빠른 답변

프록시에서 401 Unauthorized vs 407는 무엇을 의미하나요?

401 Unauthorized는 웹사이트에서, 407은 프록시에서 옵니다. CrawlRelay 주거용 프록시를 통해 스크랩할 때 401이 나오면 프록시 접속은 성공했으나 웹사이트가 자체 로그인이나 API 키를 요구하는 것입니다. 이 경우 프록시 자격 증명은 도움이 되지 않습니다. 407 문제는 프록시 URL에서 수정하고, 401은 사이트의 보호된 콘텐츠 규칙에 따라 처리하세요.

401 Unauthorized vs 407 한눈에 보기

오류401 Unauthorized vs 407
유형HTTP 상태 코드 (4xx, 클라이언트 오류)
전송 주체대상 웹사이트이며, 프록시가 아닙니다
정의 위치RFC 9110, section 15.5.2 (compare 407: section 15.5.8)
다시 시도할까요?아니요. 401은 웹사이트 자체의 인증을 요구합니다
먼저 확인하세요어느 서버가 보냈는지 확인하세요: 웹사이트(401)인지 프록시(407)인지

401 Unauthorized vs 407가 무엇을 의미하나요?

RFC 9110은 이 두 코드를 짝지었습니다. 401은 WWW-Authenticate 헤더를 포함하며 원본 서버의 자격 증명을 요구합니다. 407은 Proxy-Authenticate 헤더를 포함하며 프록시 자격 증명을 요청합니다. 응답 헤더도 다릅니다: 사이트는 Authorization, 프록시는 Proxy-Authorization입니다.

두 코드 모두 '인증'을 요구하기 때문에 헷갈리기 쉽습니다. 가장 빠른 구분법은 상태 코드 자체입니다: 401은 프록시를 통과했다는 의미입니다.

Python, curl, Node.js, 브라우저에서 a 401는 어떻게 나타나나요?

같은 실패가 도구마다 다르게 출력됩니다. 로그에서 검색할 메시지들:

  • Python requests: 웹사이트에서 오는 status_code == 401와 함께 WWW-Authenticate 헤더 / 프록시 관련 407은 ProxyError에서 확인
  • curl: 성공적인 CONNECT 후에 HTTP/2 401 (웹사이트) / CONNECT tunnel failed, response 407 (프록시)
  • API: {"message": "Unauthorized"} 같은 JSON 본문 또는 무효 토큰 메시지

a 401의 원인은 무엇인가요?

가장 가능성 높은 첫 번째 원인:

  • 페이지 또는 API가 로그인이나 키를 요구합니다. 사이트에서 요청하는 것이지 프록시가 아닙니다.
  • 프록시 자격 증명이 잘못된 위치에 있음, 예: 사이트가 거부하는 프록시용 Authorization 헤더 포함
  • 만료된 세션 쿠키나 토큰이 포함된 다단계 인증 흐름
  • IP 또는 지역과 연동된 토큰, 새로운 출구 IP로 변경되면 무효화됨

a 401를 단계별로 진단하는 방법은?

  1. 코드 확인: 401은 사이트, 407은 프록시
  2. 아래 curl 테스트 실행. 401 전에 HTTP/1.1 200 Connection established이 보이면 프록시는 정상
  3. 일반 브라우저에서 같은 URL이 로그인 요구하는지 확인
  4. 다단계 인증의 경우 출구 IP 변경 시 401 발생 여부 확인
curl로 실패한 URL 테스트하기(HTTP 포트, 상세 모드)
# Use the URL that fails; with https://api.ipify.org instead, you test the gateway alone.
# "HTTP/1.1 200 Connection established" first, then the site's own status: the site answered.
curl -v -x http://USERNAME:[email protected]:7777 https://TARGET_URL

# Same test through the SOCKS5 port, with DNS resolved at the exit
curl -v --socks5-hostname gw.crawlrelay.com:7778 --proxy-user USERNAME:PASSWORD https://TARGET_URL

a 401를 어떻게 고치나요?

  • 프록시 문제(407)의 경우, 자격 증명을 프록시 URL 또는 클라이언트의 프록시 설정에 넣으시고, 절대 Authorization 헤더에는 넣지 마십시오.
  • 키가 필요한 공개 API의 경우, 해당 사이트에 등록하고 문서에 따라 키를 전송하십시오.
  • IP에 연동된 세션의 경우, 전체 과정에 대해 스티키 세션을 사용하십시오.
  • 로그인 뒤의 콘텐츠는, 자동화하기 전에 사이트 약관을 확인하십시오. 소유하지 않은 계정이나 로그인 뒤의 개인 데이터를 스크래핑하는 것은 저희의 허용 정책에 위배됩니다.

a 401 이후에 다시 시도해야 하나요?

401 오류는 무턱대고 재시도하지 마십시오. 요청에 없는 무언가를 요구하는 것입니다. 플로우에 토큰이나 세션이 있다면 갱신 후 한 번 시도하십시오. 401이 계속된다면 콘텐츠가 공개되지 않았거나 접근 권한이 종료된 것입니다.

401 Unauthorized vs 407가 CrawlRelay에 어떻게 적용되나요?

HTTP 프록시는 407이나 터널 실패로 자격 증명 문제를 알리며 401로는 알리지 않습니다. CrawlRelay 게이트웨이를 사용할 때 401이 보이면 요청이 웹사이트에 도달한 것으로 문제 범위가 빨리 축소됩니다.

게이트웨이: gw.crawlrelay.com, 포트 7777 (CONNECT를 통한 HTTP, HTTPS) 및 포트 7778 (SOCKS5). 사용자 이름 형식: USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}. 관련: 407 Proxy Authentication Required · 403 Forbidden · 세션 가이드.

401 Unauthorized vs 407: 개발자들이 묻는 질문들

프록시 비밀번호가 정확한데 401 오류가 나는 이유가 뭔가요?

401 오류는 프록시가 아닌 웹사이트 문제입니다. 프록시 로그인은 작동했고 사이트가 자체 자격 증명을 원합니다. 예를 들어 API 키, 로그인 쿠키 또는 토큰이 필요합니다. 사이트 문서를 확인하세요. 접근 권한 없는 로그인 뒤 콘텐츠는 자동화하지 마십시오.

스티키 세션이 401 오류를 해결할 수 있나요?

경우에 따라 가능합니다. 일부 사이트는 세션이나 토큰을 만든 IP에 연동하여 새로운 출구로 접속 시 토큰이 무효화되어 401이 발생합니다. 전체 플로우에 스티키 세션을 유지하면 이를 방지합니다. 하지만 없는 자격 증명이 필요한 콘텐츠에는 도움이 되지 않습니다.

프록시 자격 증명은 HTTP 요청의 어디에 넣어야 하나요?

프록시 URL의 user:password@ 부분에서 클라이언트가 만들어 Proxy-Authorization 헤더에 넣습니다. 이 헤더는 프록시가 제거해 웹사이트는 보지 못합니다. 웹사이트용 자격 증명은 프록시가 그대로 전달하는 Authorization 헤더나 쿠키에 넣으십시오.

이 참조에서 다른 프록시 오류들

HTTP 상태 코드

브라우저 및 클라이언트 오류

연결 및 TLS 오류

실패 사례를 다루는 문서가 있는 레지덴셜 프록시들

US$0.50/GB의 레지덴셜 프록시 CrawlRelay개, 트래픽이 절대 만료되지 않음.

US$0.50/GB 부터 · KYC 없이

시작하기