Menu

안티 봇 스크린 우회

사용자가 원하는 웹페이지로 작업자가 이동하여 안티 봇 스크린을 우회하여 쿠키를 가져와 앱으로 반환하는 작업 유형으로, 쿠키를 가져온 다음, 해당 쿠키를 사용하면 선호하는 프로그래밍 언어로 해당 웹페이지를 자유롭게 탐색하실 수 있습니다. 이러한 유형의 봇 탐지 페이지를 성공적으로 우회하려면 사용자는 작업자의 브라우저 사용자 에이전트값이 필요하며, 양질의 프록시를 당사에 제공하여야 합니다. 프록시가 없는 경우에는 전체 안티 봇 솔루션이 쿠키와 방문자 및 사용자 에이전트의 IP 주소를 매칭하므로 해당 메서드가 작동하지 않습니다.
안티 봇 스크린 예제
마지막 페이지에서 가져온 내용:
  • 쿠키
  • 브라우저 지문
  • 기본 창 프레임에서 이루어진 마지막 HTTP 요청의 헤더

해당 기술은 당사가 템플릿을 직접 관리하고 계속 업데이트한다는 점 외에도 당사의 AntiGate 템플릿기술을 기반으로 하고 있습니다. 해당 유형의 작업을 이용하려면 구독을 하셔야 하며, 각 작업당 5 크레딧이 소요됩니다. 구독비는 $9.90부터 시작하며, 5,000건의 바이패스가 포함되어 있습니다. 구독을 원치 않는 경우에는 이 튜토리얼을 사용하여 직접 템플릿을 제작하고 작업당 약 $0.002달러로 사용자의 잔고에서 계속 결제를 진행할 수 있습니다.

모든 프로세스는 작업자가 작업을 할당받기 전에 설치하는 브라우저 플러그인의 제어를 받습니다. 작업자는 수동으로는 아무런 작업도 수행하지 않으며, 기본적으로 프록시가 활성화된 상태에서 새 탭이 자동으로 열리고, 선택한 페이지로 이동하며, 안티봇 스크린을 통과하고 나면 데이터를 가져오며, 이후 탭을 닫은 후 API를 통해 데이터를 앱에 전달합니다.

오직 고품질의 프록시만 허용되며, 호스트명, "residential proxies", 공유 프록시 풀은 허용되지 않습니다. 미국/유럽에서 VPS를 임대하여 지침에 따라 SQUID 서버를 설치한 경우에는 언제나 제대로 작동합니다. 먼저 작업 실행에 앞서 속도 및 호환성에 대하여 프록시를 확인하여야 합니다. 이때 응답 시간은 1초 미만이어야 하며, 그렇지 않은 경우에는 작업자가 작업을 취소합니다.

웹 사이트가 안티 봇 스크린을 지원하는지 확인하세요:

해당 안티 봇 스크린은 지원되지 않습니다. 지원이 필요한 경우 문의하시기 바랍니다.

일부 안티 봇 스크린의 경우, SSL handshake fingerprinting과 같은 고급 지문 기술을 사용하여 웹사이트에 접속하는 SSL/TLS 클라이언트의 유형을 식별합니다. 예를 들어, Chrome 브라우저와 Firefox, CURL은 각각 고유한 지문을 가지고 있으며, 사용자 에이전트보다 낮은 수준의 개념이므로 이 둘을 혼동해서는 안 될 것입니다. 이 경우, 당사의 서비스를 이용하려면 동일한 브라우저 인스턴스를 사용하여 작업자의 세션을 재구성해야 합니다. 대부분의 작업자가 Chrome 브라우저를 사용하므로 NodeJS+Puppeteer+Chromium 또는 Selenium+Chromedriver 번들로 작업을 수행할 수 있으며, 예제가 포함되어 있습니다.

작업 객체

속성 유형 필수 목적
type 문자열 AntiBotCookieTask
websiteURL 문자열 작업자가 탐색할 대상 웹페이지 주소
proxyAddress 문자열 프록시 IP 주소 ipv4/ipv6. 로컬 네트워크의 호스트명이나 IP 주소는 필요 없습니다.
proxyPort 정수 프록시 포트
proxyLogin 문자열 인증이 필요한 프록시 로그인 (기본)
proxyPassword 문자열 프록시 비밀번호

예제 요청

Python
Javascript
PHP
#pip3 install anticaptchaofficial

from anticaptchaofficial.antibotcookietask import *
import requests

solver = antibotcookieTask()
solver.set_verbose(1)
solver.set_key("API_KEY_HERE")
solver.set_website_url("https://www.somewebsite.com/")
solver.set_proxy_address("1.2.3.4")
solver.set_proxy_port(3128)
solver.set_proxy_login("login")
solver.set_proxy_password("password")

# Specify softId to earn 10% commission with your app.
# Get your softId here: https://anti-captcha.com/clients/tools/devcenter
solver.set_soft_id(0)

result = solver.solve_and_return_solution()
if result == 0:
    print("could not solve task")
    exit()

print(result)

cookies, localStorage, fingerprint = result["cookies"], result["localStorage"], result["fingerprint"]

if len(cookies) == 0:
    print("empty cookies, try again")
    exit()

cookie_string = '; '.join([f'{key}={value}' for key, value in cookies.items()])
user_agent = fingerprint['self.navigator.userAgent']
print(f"use these cookies for requests: {cookie_string}")
print(f"use this user-agent for requests: {user_agent}")

s = requests.Session()
proxies = {
  "http": "http://login:password@1.2.3.4:3128",
  "https": "http://login:password@1.2.3.4:3128"
}
s.proxies = proxies

content = s.get("https://www.somewebsite.com/", headers={
    "Cookie": cookie_string,
    "User-Agent": user_agent
}).text
print(content)

작업 솔루션 객체

속성 유형 목적
cookies 객체 안티 봇 스크린 뒤에 있는 페이지의 쿠키. 해당 쿠키 모두를 합쳐서 HTTP 요청에 사용합니다.
localStorage 객체 쿠키와 마찬가지로 최종 페이지에서 가져온 localStorage 값이 있는 객체.
fingerprint 객체 브라우저 지문 매개변수. 쿠키와 localStorage와 함께 이 매개변수를 사용하여 소프트웨어에서 작업자 브라우저 세션을 재생성할 수 있습니다.
HTTP 요청에서 "self.navigator.userAgent" 값을 사용자 에이전트로 사용합니다.
url 문자열 템플릿이 완료된 페이지의 URL
lastRequestHeaders 배열 브라우저의 기본 창 프레임에서 웹사이트로 전송된 마지막 요청 헤더

응답 예제

{
    "errorId": 0,
    "status": "ready",
    "solution": {
        "cookies": {
            "some_antibotcookie": "0A8VO9NX5N1s4LRoS4sJlFTCNzLj0dEfA_2whUh0E6ZjgQtM~I1cV7U2IhQx0~jnowNjg-Oi76b-MjYPd1GQAmIxh5-v~33PI8F",
            "maybe_another_id": "join_all_cookies_together"
        },
        "localStorage": {
            "some_value": "Might be used too in the future as a method to 'remember' visitors, so we collect it too.",
            "what_is_it": "localStorage is a more complex analogue of cookies, allowing to store larger objects in browser memory"
        },
        "fingerprint": {
            "self.navigator.userAgent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/101.0.0.0 Safari\/537.36",
            "self.screen.width": 1280,
            "self.screen.height": 768,
            "self.screen.availWidth": 1280,
            "self.screen.availHeight": 768,
            "self.screen.availLeft": 0,
            "self.screen.availTop": 25,
            "self.navigator.vendorSub": "",
            "self.navigator.productSub": "20030107",
            "self.navigator.vendor": "Google Inc.",
            "self.navigator.maxTouchPoints": 0,
            "self.navigator.hardwareConcurrency": 8,
            "self.navigator.cookieEnabled": true,
            "self.navigator.appCodeName": "Mozilla",
            "self.navigator.appName": "Netscape",
            "self.navigator.appVersion": "5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/101.0.0.0 Safari\/537.36",
            "self.navigator.platform": "MacIntel",
            "self.navigator.product": "Gecko",
            "self.navigator.language": "en-US",
            "self.navigator.onLine": true,
            "self.navigator.deviceMemory": 4
        },
        "url": "https://www.thewebsite.com/some/final/path/after_redirects",
        "lastRequestHeaders": [
            "sec-ch-device-memory: 8",
            "sec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"101\", \"Google Chrome\";v=\"101\"",
            "sec-ch-ua-mobile: ?0",
            "sec-ch-ua-arch: \"x86\"",
            "sec-ch-ua-platform: \"macOS\"",
            "sec-ch-ua-model: \"\"",
            "sec-ch-ua-full-version-list: \" Not A;Brand\";v=\"99.0.0.0\", \"Chromium\";v=\"101.0.5005.115\", \"Google Chrome\";v=\"101.0.5005.115\"",
            "Upgrade-Insecure-Requests: 1",
            "User-Agent: Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/101.0.0.0 Safari\/537.36",
            "Accept: text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/avif,image\/webp,image\/apng,*\/*;q=0.8,application\/signed-exchange;v=b3;q=0.9",
            "Sec-Fetch-Site: same-origin",
            "Sec-Fetch-Mode: navigate",
            "Sec-Fetch-Dest: document",
            "Referer: https:\/\/somewebsite.com\/",
            "Accept-Encoding: gzip, deflate, br",
            "Accept-Language: en-US,en;q=0.9",
            "Cookie: some_antibotcookie=0A8VO9NX5N1s4LRoS4sJlFTCNzLj0dEfA_2whUh0E6ZjgQtM~I1cV7U2IhQx0~jnowNjg-Oi76b-MjYPd1GQAmIxh5-v~33PI8F"
        ]
    },
    "cost": "0.00858",
    "ip": "5.25.11.114",
    "createTime": 1637841143,
    "endTime": 1637841189,
    "solveCount": 0
}