Web Unlocker vs Residential Proxy vs Mobile Proxy: 언제 어떤 것을 사용해야 할까

우리는 동일한 URL을 데이터센터 서버, 일반 주거용 프록시, 그리고 웹 언락커를 통해 가져왔습니다. 일부 사이트는 아무 것도 필요하지 않았고, 일부는 주거용 IP만 필요했으며, 일부는 언락커를 통해서만 열렸고, 다섯 개는 여전히 차단된 상태로 남아 있었습니다. 각 계층이 무엇을 해결하는지, 모바일 계층이 어디에 맞는지 설명합니다.

주거용 프록시는 요청이 어디에서 오는지를 변경합니다. 웹 언락커는 요청의 모양도 변경합니다: 실제 브라우저의 TLS 지문으로 요청을 보내고, 새로운 IP로 재시도하며, JavaScript 챌린지가 나타나면 헤드리스 브라우저를 실행합니다. 깨끗한 주거용 IP로도 차단될 때만 언락커가 필요합니다. 그렇지 않으면 프록시로 충분합니다.

이것이 이론입니다. 이를 확인하기 위해, 우리는 2026년 9월 29일에 동일한 URL을 세 가지 방법으로 가져왔고, 결과를 사이트별로 유지했습니다. 일부 페이지는 전혀 필요하지 않았고, 일부는 주거용 IP만 필요했으며, 일부는 언락커를 통해서만 열렸고, 다섯 개는 우리가 무엇을 하든 차단된 상태로 남아 있었습니다. 아래 표는 각각 무엇이었는지를 보여줍니다.

우리가 테스트한 방법

각 URL은 2026년 9월 29일에 세 가지 방법으로 가져왔습니다. 첫째, 프랑크푸르트의 데이터센터 서버에서 Chrome User-Agent로 일반 curl. 둘째, 동일한 일반 curl을 QuantumProxies.io 주거용 프록시를 통해 미국 출구(프랑스 출구는 Leboncoin용)로. 셋째, 동일한 출구 국가로 주거용 계층의 Web Unlocker 포워드 프록시를 통해. 상태는 클라이언트가 본 최종 HTTP 상태입니다. 시간은 언락커 요청 한 번의 벽시계 시간입니다.

이것은 한 장소에서 하루 동안의 실행이며, 벤치마크가 아닙니다. 안티봇 규칙은 매주 변경되며, 월요일에 통과한 사이트가 화요일에 거부될 수 있습니다. 하니스나 언락커 자체가 내부 오류를 반환한 행은 제외되었습니다: 그것들은 통과도 차단도 아니며, 어느 쪽으로든 계산하면 오도할 수 있습니다. 패턴을 위해 표를 사용하고, 관심 있는 사이트를 다시 테스트하십시오.

각 계층이 해결하는 것

현대의 봇 벽은 페이지를 보내기 전에 여러 가지를 확인하며, 각 도구는 다른 하위 집합을 해결합니다. 어떤 벽에 부딪히고 있는지 아는 것이 무엇을 구매해야 하는지를 알려줍니다.

벽사이트가 확인하는 것일반 주거용 프록시Web Unlocker (주거용)Web Unlocker, 모바일 계층
IP 평판IP가 속한 네트워크와 그 역사데이터센터 범위 차단 해결재시도 시 새로운 IP로 주거용 출구여러 전화기가 공유하는 4G/5G 캐리어 IP
TLS 및 HTTP 지문핸드셰이크, HTTP/2 설정 및 헤더 순서변경 없음: 여전히 클라이언트브라우저 지문, 재시도 시 회전주거용과 동일
JavaScript 챌린지클라이언트가 페이지의 스크립트를 실행하고 쿠키를 유지하는지 여부아니요헤드리스 브라우저로 에스컬레이션주거용과 동일
인터랙티브 캡차인간을 위한 작업아니요해결되지 않음; 실패로 보고, 절대 200 아님해결되지 않음

첫 번째 행은 대부분의 스크래퍼가 시작하는 곳이며, 주거용 프록시가 그 가치를 발휘하는 곳입니다. 호스팅 범위는 인식하기 쉽고, 많은 사이트가 이를 즉시 거부합니다. 두 번째 행은 깨끗한 IP가 때로는 충분하지 않은 이유입니다: curl, Python 또는 Node의 TLS 핸드셰이크는 Chrome과 전혀 다르며, Cloudflare는 JA3/JA4 지문을 클라이언트를 정확히 식별하는 방법으로 문서화합니다. TLS 지문에 대한 우리의 가이드는 이를 깊이 있게 다룹니다. 세 번째 행은 실제 JavaScript 엔진이 필요합니다. 네 번째 행은 인간이 필요하며, 이 페이지의 어떤 제품도 이를 제공하지 않습니다.

IP 평판, TLS 지문, JavaScript 챌린지 및 인터랙티브 캡차 순서로 쌓인 네 개의 안티봇 벽, 주거용 프록시와 웹 언락커의 범위가 표시됨
주거용 프록시는 첫 번째 벽을 해결합니다. 언락커는 첫 세 개를 해결합니다. 여기에는 네 번째를 해결하는 것이 없습니다.

프록시가 전혀 필요하지 않았던 사이트

여기서 시작하세요, 왜냐하면 이것이 가장 저렴한 결과이기 때문입니다. 이 페이지들은 데이터센터 서버에서의 일반 요청에 응답했습니다. 다른 어떤 것을 통해 보내는 것은 비용이 들고, 이득 없이 지연을 추가합니다.

사이트일반, 데이터센터 서버일반, 주거용 프록시Web Unlocker
docs.python.org200200200, 1.6 s
books.toscrape.com200200200, 1.9 s
news.ycombinator.com200200200, 4.1 s
en.wikipedia.org200200200, 1.9 s
github.com (저장소 페이지)200200200, 2.0 s
bbc.com (기술)302 리디렉션302 리디렉션200, 1.4 s

BBC 302는 차단이 아닌 리디렉션입니다. 우리의 테스트 클라이언트는 리디렉션을 따르지 않았으며, 따르는 클라이언트는 페이지에 도착합니다.

일반 주거용 프록시로 충분했던 경우

사이트일반, 데이터센터 서버일반, 주거용 프록시Web Unlocker
Zillow (오스틴 목록)403, PerimeterX '이 페이지에 대한 접근이 거부되었습니다'200, 실제 목록 페이지200, 1회 시도, 2.7 s
Leboncoin (검색, 프랑스 출구)403, 캡차 페이지200, 실제 결과 페이지200, 1회 시도, 1.4 s
Amazon (제품 페이지)200, 제품 페이지200, 제품 페이지200, 2회 시도 + 브라우저, 10.2 s

Zillow와 Leboncoin은 주거용 프록시가 구축된 경우입니다. 데이터센터 IP는 거부되었고, 동일한 요청이 가정용 IP에서 페이지를 얻었습니다. 언락커도 작동했지만, 필요한 것은 추가하지 않았습니다.

Amazon은 주의해야 할 행입니다. 이번 실행에서 두 일반 클라이언트 모두 제품 페이지를 얻었지만, 언락커는 두 번의 시도와 브라우저가 필요했고, 10.2초가 걸렸습니다. 언락커는 이동하는 모든 바이트, 재시도 및 브라우저 로드를 포함하여 청구합니다. 필요하지 않은 페이지에서는 그 추가 작업에 대해 비용을 지불합니다. 이것은 하루 동안의 한 번의 요청이므로 Amazon에 대한 규칙으로 읽지 마십시오. 일반적으로 먼저 테스트해야 한다는 규칙으로 읽으십시오.

웹 언락커만 통과한 경우

사이트일반, 데이터센터 서버일반, 주거용 프록시Web Unlocker
Indeed (구직 검색)403, '보안 확인' 페이지403, 'Enable JavaScript and cookies to continue'200, 1회 시도, 2.6 s
Glassdoor (회사 리뷰)403, 캡차가 있는 '보안' 페이지403, 'Enable JavaScript and cookies to continue'200, 2회 시도 + 브라우저, 17.2 s
Walmart (검색)307 리디렉션, 결과 페이지 없음307 리디렉션, 결과 페이지 없음200, 1회 시도, 4.8 s
Best Buy (노트북 카테고리)연결 실패, 응답 없음연결 실패, 응답 없음200, 1회 시도, 6.3 s

여기서는 주거용 IP만으로는 도움이 되지 않았습니다. Indeed, Walmart 및 Best Buy는 브라우저 없이 언락커의 첫 번째 TLS 시도에서 통과했습니다. 언락커의 출구는 우리의 일반 테스트에서 사용한 것과 다른 주거용 IP였으므로, 이는 통제된 실험이 아닙니다. 그럼에도 불구하고, 일반 주거용 열은 이미 깨끗한 가정용 IP를 가지고 실패했으며, 요청의 모양이 남은 명백한 차이점입니다. Glassdoor는 더 나아갔습니다: JavaScript를 원했기 때문에, 언락커는 두 번의 TLS 시도와 그 후 헤드리스 브라우저가 필요했으며, 그래서 17.2초가 걸렸습니다.

Walmart는 별도의 주의가 필요합니다. 우리는 307 리디렉션이 어디로 향했는지 기록하지 않았습니다. 우리는 단지 일반 클라이언트가 결과 페이지를 받지 않았고 언락커가 받았다는 것만 알고 있습니다.

주거용 출구에서 웹 언락커 사용

여전히 실패한 것과 차단 클래스가 알려주는 것

정직한 비교에는 실패도 포함되어야 합니다. 이 다섯 개는 일반 클라이언트와 언락커 모두를 거부했습니다. 언락커는 오류 상태로 돌아와 이유를 알려주었습니다. 차단 페이지를 200으로 통과시키지 않았습니다:

사이트일반, 데이터센터 / 주거용Web Unlocker 상태x-qp-block-classx-qp-vendor
Home Depot (카테고리 페이지)403 / 4032회 시도 후 403ip_reputationakamai
eBay (검색)403 / 4032회 시도 후 403ip_reputationakamai
DoorDash (도시 페이지)403 / 4032회 시도 후 403ip_reputationcloudflare
StockX (제품 페이지)403 / 403403, 'Just a moment...'js_challengecloudflare
Realtor.com (검색)429 / 4292회 시도 후 429fingerprintkasada

차단 클래스는 유용한 부분입니다. Home Depot, eBay 및 DoorDash의 ip_reputation은 출구 IP 자체가 거부되었음을 의미하므로, 더 나은 지문이 도움이 되지 않았습니다. StockX의 js_challenge는 브라우저 시도 후에도 Cloudflare의 챌린지 페이지가 여전히 있었음을 의미합니다. Realtor.com의 fingerprint는 클라이언트 자체가 거부되었음을 의미합니다. 각각은 다른 다음 단계를 가리키며, 그 중 하나가 모바일 계층이 들어오는 곳입니다.

모바일 계층이 맞는 곳

모바일 통신사는 각 공용 IP 뒤에 여러 전화기를 배치합니다 (캐리어급 NAT), 따라서 사이트가 캐리어 주소를 차단하면 실제 고객도 차단할 위험이 있습니다. 그래서 캐리어 IP는 주거용 범위보다 더 많은 신뢰를 가지는 경향이 있습니다. 우리는 모바일 프록시가 신뢰받는 이유: CGNAT에서 그 메커니즘을 설명합니다.

Web Unlocker는 4G/5G 캐리어 출구에서 동일한 논리(브라우저 지문, 재시도, 브라우저 에스컬레이션, 차단 보고)를 실행하는 모바일 계층을 가지고 있습니다. 프록시 사용자 이름에 -tier-mobile을 사용하거나 REST 엔드포인트에서 "tier": "mobile"로 선택합니다. 자체 선불 GB 잔액을 가지고 있으며, 더 느리고, 주거용 계층보다 GB당 비용이 더 많이 듭니다. 주거용 범위도 거부하는 사이트를 위한 것입니다. 이는 주거용 계층에서 ip_reputation 차단이 시사하는 바로 그 것입니다.

이 기사의 한계를 분명히 하기 위해: 우리는 이 테스트에서 모바일 계층을 실행하지 않았습니다. Home Depot, eBay 또는 DoorDash 페이지를 얻는지 여부를 알려드릴 수 없으며, 추측하지 않을 것입니다. 그것들이 목표라면, 볼륨을 구매하기 전에 모바일 계층에서 테스트하십시오. captcha 또는 fingerprint 차단에는 도움이 되지 않습니다. 왜냐하면 그것들은 IP와 관련이 없기 때문입니다. 언락커 없이 모바일 대 주거용 대 ISP 프록시에 대한 일반적인 질문에 대해서는, 모바일, 주거용 및 ISP 프록시 비교가 이를 다룹니다.

Python에서 비용을 고려한 에스컬레이션 사다리

표는 한 가지 규칙을 가리킵니다: 사이트가 강요하는 만큼만 올라가십시오. 이 함수는 순서대로 각 단계를 시도하고 실제 페이지를 반환하는 첫 번째 단계에서 멈춥니다. 주거용 계층이 ip_reputation 차단을 보고할 때만 모바일 계층으로 이동합니다. HEADERS와 looks_blocked()는 우리의 Python에서의 웹 언락커 API 튜토리얼의 도우미입니다.

import os
import requests
import urllib3

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

RESIDENTIAL = os.environ["QP_RESIDENTIAL_PROXY"]   # http://USER:PASS@HOST:PORT from your residential plan
UNLOCK_USER = os.environ["QP_UNLOCK_USER"]         # unlock-XXXXXXXX
UNLOCK_PASS = os.environ["QP_UNLOCK_PASSWORD"]


def unlocker(extra: str = "") -> dict:
    u = f"http://{UNLOCK_USER}-country-us{extra}:{UNLOCK_PASS}@unlock.quantumproxies.io:9000"
    return {"http": u, "https": u}


LADDER = [
    # name,              proxies,                                      verify, timeout
    ("plain",            {},                                           True,   30),
    ("residential",      {"http": RESIDENTIAL, "https": RESIDENTIAL},  True,   30),
    ("unlocker",         unlocker(),                                   False, 120),
    ("unlocker-mobile",  unlocker("-tier-mobile"),                     False, 120),
]


def climb(url: str):
    last = None
    for name, proxies, verify, timeout in LADDER:
        try:
            r = requests.get(url, headers=HEADERS, proxies=proxies, verify=verify, timeout=timeout)
        except requests.RequestException:
            continue                        # no response at all counts as a block
        last = r
        if not name.startswith("unlocker"):
            if not looks_blocked(r):
                return name, r
            continue
        if "x-qp-unlocker-blocked" not in r.headers:
            return name, r
        if r.headers.get("x-qp-block-class") != "ip_reputation":
            break                           # a different IP will not fix this wall
    return "blocked", last

프로덕션에서는 도메인별로 단계를 기억하여, 각 요청에서 실패한 단계를 위해 비용을 지불하지 않도록 하십시오. 언락커는 차단 클래스 옆에 기록할 가치가 있는 x-qp-hint 헤더와 제안을 보낼 수도 있습니다.

스크래퍼를 위한 에스컬레이션 사다리: 일반 요청, 그 다음 주거용 프록시, 그 다음 주거용 출구에서 웹 언락커, 그 다음 모바일 계층, 테스트에서 페이지를 처음 반환한 단계에 사이트 배치
사이트가 강요하는 만큼만 올라가십시오. 각 단계는 아래 단계보다 더 많은 비용이 듭니다.

다섯 가지 질문으로 결정하는 방법

  1. 서버에서의 일반 요청이 실제 페이지를 반환합니까? 그렇다면 둘 다 필요 없습니다. 거기서 멈추십시오.
  2. 데이터센터 IP에서 실패하지만 주거용 IP에서 작동합니까? 주거용 프록시를 구매하고 자신의 클라이언트를 유지하십시오.
  3. 깨끗한 주거용 IP에서도 여전히 403, 'Just a moment' 또는 'Enable JavaScript' 페이지, 또는 연결이 끊어집니까? 그것은 언락커의 역할입니다.
  4. 언락커가 주거용 출구에서 ip_reputation을 보고합니까? 그 사이트에서 모바일 계층을 테스트하고 볼륨을 약정하기 전에 확인하십시오.
  5. captcha 또는 fingerprint를 보고합니까? 어떤 프록시 계층도 이를 신뢰할 수 있게 해결하지 않습니다. 소스, 속도, 또는 공식 API가 있는지 재고하십시오.

자주 묻는 질문

주거용 프록시를 구매해야 하나요, 아니면 웹 언락커를 사용해야 하나요?

먼저 목표를 테스트하십시오. 2026년 9월 29일 테스트에서 Zillow와 Leboncoin처럼 주거용 IP에서의 일반 요청이 실제 페이지를 반환한다면, 주거용 프록시가 충분하고 운영 비용이 저렴합니다. 깨끗한 주거용 IP가 여전히 403 또는 JavaScript 챌린지를 받는다면, Indeed와 Glassdoor처럼 언락커가 필요합니다.

주거용 프록시가 필요합니까, 아니면 어떤 프록시라도 작동합니까?

사이트에 따라 다릅니다. Wikipedia, GitHub 및 Hacker News는 우리의 테스트에서 데이터센터의 일반 요청에 응답했으므로 프록시가 필요하지 않았습니다. Zillow와 Leboncoin은 데이터센터 IP를 거부하고 주거용 IP를 수락했습니다. 데이터센터 프록시는 첫 번째 문제를 공유합니다. 왜냐하면 호스팅 범위는 사이트가 인식하고 거부하기 쉽기 때문입니다.

모바일 프록시가 웹 스크래핑에 주거용 프록시보다 더 신뢰할 수 있습니까?

캐리어 IP는 CGNAT을 통해 여러 전화기가 공유하므로, 사이트는 이를 차단하는 것을 더 꺼려하며, 이는 IP 평판 차단에 도움이 됩니다. 자체적으로 TLS 지문을 변경하거나 JavaScript 챌린지를 해결하지 않으며, 더 느리고 GB당 비용이 더 많이 듭니다. 우리는 이 테스트에서 모바일 출구를 측정하지 않았습니다.

모바일 프록시가 캡차를 줄이나요?

IP 평판에 의해 트리거된 캡차를 줄일 수 있습니다. 왜냐하면 캐리어 주소는 많은 일반 전화 사용자처럼 보이기 때문입니다. 클라이언트 지문이나 요청 속도에 의해 트리거된 캡차에는 아무런 영향을 미치지 않습니다. Web Unlocker는 어느 계층에서도 인터랙티브 캡차를 해결하지 않습니다: 차단 클래스 captcha로 보고합니다.

웹 언락커가 주거용 프록시보다 느린 이유는 무엇입니까?

사이트가 반발할 때 요청당 더 많은 작업을 수행하기 때문입니다: 다른 지문 아래에서 새로운 IP로 재시도하고, JavaScript 챌린지가 나타나면 헤드리스 브라우저에서 페이지를 로드합니다. 우리의 테스트에서 Indeed는 한 번의 시도로 2.6초 만에 통과했지만, Glassdoor는 브라우저가 필요했고 17.2초가 걸렸습니다.

웹 언락커는 주거용 프록시와 어떻게 청구됩니까?

둘 다 GB당 청구됩니다. 언락커는 재시도, 차단된 페이지 및 브라우저의 페이지 로드를 포함하여 귀하를 대신하여 이동하는 모든 바이트를 계산하며, 각 계층에 대해 자체 선불 잔액을 사용합니다: 주거용 출구 및 모바일 캐리어 출구. 현재 GB당 가격은 대시보드에 표시됩니다.

주거용 프록시는 요청이 어디에서 오는지를 수정합니다. 웹 언락커는 요청의 모양과 JavaScript 실행 가능 여부도 수정합니다. 모바일 계층은 주거용 범위를 거부하는 사이트에 대해 IP를 다시 변경합니다. 그들 중 누구도 인간 캡차를 페이지로 바꾸지 않습니다. 목표가 수용하는 가장 낮은 단계를 구매하고, 차단 클래스가 언제 올라가야 하는지를 알려주도록 하십시오.

Web Unlocker 계층 비교

주거용 범위를 거부하는 목표? 모바일 출구에서의 Web Unlocker를 참조하세요.