Anti-bot screen bypass
- Mga cookie
- Fingerprint ng browser
- Mga header ng huling HTTP request na ginawa galing sa pangunahing window frame
Ang teknolohiyang ito ay binuo sa aming teknolohiyang Mga template ng AntiGate, maliban na lamang na kami mismo ang namamahala ng mga template at patuloy namin itong ina-update. Ang paggamit ng uri ng gawain na ito ay mangangailangan ng isang suskripsiyon, na may halagang 5 kredito para sa bawat gawain. Ang mga presyo ng suskripsiyon ay nagsisimula sa $9.90 kada buwan na may kasamang 5,000 na bypass. Kung ayaw mong bilhin ito, maaari kang gumawa ng iyong sariling template gamit ang tutorial na ito at magpatuloy na magbayad mula sa iyong balanse sa halagang $0.002 bawat gawain.
Tanging mga proxy na may mataas na kalidad ang tinatanggap, walang mga hostname, walang "residential proxies", at walang mga shared proxy pool. Ang pag-upa ng isang VPS sa USA/Europe at pag-install ng isang SQUID server gamit ang aming mga instruksiyon ay palaging magiging epektibo. Ang mga proxy ay sinusuri para sa bilis at pagkakabagay bago isagawa ang gawain. Dapat mayroon itong ng mabilis na oras ng pagtugon na mas mababa sa 1 segundo, kung hindi kakanselahin ng mga manggagawa ang iyong mga gawain.
Suriin kung sinusuportahan ng isang website ang anti-bot screen:
Tandaan na ang ilang mga anti-bot screen ay gumagamit ng mga advanced fingerprinting technique tulad ng SSL handshake fingerprinting, na kayang malaman kung aling uri ng SSL/TLS client ang kumokonekta sa website. Halimbawa, mayroong fingerprint ang Chrome browser, iba naman ang sa Firefox, at ganap na iba naman ang CURL. Huwag malito sa User-Agent, ito ay sa mas mababang antas. Sa kasong ito upang magamit ang aming serbisyo, kailangan mong gamitin ang parehong browser instance upang muling mabuo ang sesyon ng aming manggagawa. Dahil karamihan sa aming mga manggagawa ay gumagamit ng Chrome browser, ang isang bundle ng NodeJS+Puppeteer+Chromium o Selenium+Chromedriver ay magiging epektibo. May mga kasamang halimbawa.
Bagay ng gawain
Katangian | Uri | Kinakailangan | Layunin |
---|---|---|---|
type | String | Oo | AntiBotCookieTask |
websiteURL | String | Oo | Adres ng puntiryang pahina kung saan pupunta ang aming manggagawa. |
proxyAddress | String | Oo | IP address ng proxy ipv4/ipv6. Walang mga host name o IP address mula sa mga lokal na network. |
proxyPort | Integer | Oo | Port ng proxy |
proxyLogin | String | Oo | Login para sa proxy na kinakailangan ang awtorisasyon (basic) |
proxyPassword | String | Oo | Password ng proxy |
Halimbawa ng kahilingan
#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)
Bagay ng solusyon ng gawain
Katangian | Uri | Layunin |
---|---|---|
cookies | Bagay | Mga cookie galing sa pahina na nasa likod ng anti-bot screen. Ipagsama silang lahat at gamitin sa iyong mga HTTP request. |
localStorage | Bagay | Kapareho ng mga cookie, ang bagay na may mga localStorage na halaga ay kinuha sa huling pahina. |
fingerprint | Bagay | Mga parametro ng fingerprint ng browser. Gamitin ang mga ito kasama ng mga cookie at localStorage para maisagawa ang sesyon ng browser ng manggagawa sa iyong browser. Gamitin ang halaga ng "self.navigator.userAgent" bilang isang user-agent sa iyong mga HTTP request. |
url | String | URL ng pahina kung saan natapos ang pagsasagawa ng template |
lastRequestHeaders | Array | Mga header ng huling kahilingan na ipinadala sa web site mula sa pangunahing window frame ng browser. |
Halimbawa ng tugon
{
"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
}