绕过反机器人屏幕
执行这种任务时,我们的工作人员会转到您选择的网页,绕过反机器人屏幕,获取 Cookie 并将其送回您的应用。然后可以用这些 Cookie 通过常用编程语言在此网站中随意浏览。为了成功绕过这种机器人拦截页面,还需要我们工作人员浏览器的用户代理值,并向我们提供优质代理服务器。没有代理服务器这种方法就不会奏效,因为所有反机器人解决方案都会比较其 Cookie 与访客 IP 地址及其用户代理值。
反机器人屏幕示例
我们在最后一页获取:
- Cookie
- 浏览器指纹
- 从主窗口框架中发出的最后一项 HTTP 请求的报头
此技术基于我们的 AntiGate 模板技术,除了我们自行管理模板并不断对其进行更新。必须订购才能执行这种任务,每项任务的费用是 5 个抵用点。最低订购价格是每月 9.90 美元,包括绕过 5,000 次的费用。如果不想购买模板,则可按此教程自行制作模板,并继续用余额以大约每项任务 0.002 美元的费率付费。
全程均由一个浏览器插件控制,我们工作人员已在接受任务之前安装该插件。工作人员不进行人工处理,基本上是在已启用您的代理服务器的情况下自动打开一个新标签页,转到您选择的页面,等到绕过反机器人屏幕,获取数据,关闭标签页,然后通过 API 向您的应用传递获得的数据为止。
仅接受优质代理服务器,不需要主机名,不需要“驻留代理服务器”,不需要共享备用代理服务器。无论何时在美国/欧洲租用 VPS 以及按我们的说明安装 SQUID 服务器都行。执行任务之前会检查代理服务器速度和兼容性。代理服务器的反应时间必须很短,不到 1 秒,否则工作人员会取消任务。
核实网站是否有受支持的反机器人屏幕:
尚不支持此反机器人屏幕。请联系我们请求支持。
请注意,某些反机器人屏幕采用 SSL handshake fingerprinting之类的高级指纹提取技术,可以识别连接网站的 SSL/TLS 客户端的种类。例如,Chrome 浏览器有一个指纹,Firefox 也有一个指纹,CURL 还有一个完全不同的指纹。不要将自己和用户代理值混为一谈,后者级别较低。在这种情况下,为了使用我们的服务,必须用同一浏览器实例重新构建工作人员的会话。由于我们的大多数工作人员使用的都是 Chrome 浏览器,因此并用 NodeJS、Puppeteer、Chromium 或并用 Selenium、Chromedriver 就行。已附上示例。
任务对象
属性 | 类型 | 必须使用 | 用途 |
---|---|---|---|
type | 字符串 | 是 | AntiBotCookieTask |
websiteURL | 字符串 | 是 | 我们的工作人员将从中进行浏览的目标网页的地址。 |
proxyAddress | 字符串 | 是 | ipv4/ipv6 代理服务器 IP 地址。禁止使用主机名或本地网络中的 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 | 对象 | 反机器人屏幕后面的页面中的 Cookie。请将所有 Cookie 合而为一,用在 HTTP 请求中。 |
localStorage | 对象 | 含有 localStorage 值的对象也在最后一页中获取,这类似于 Cookie。 |
fingerprint | 对象 | 浏览器指纹参数。可一同使用这些参数与 Cookie 和 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
}