Skip to main content

captcha Scenario 5 — WAF Block with Proxy Rotation Retry

Written by RTILA X Engineering Team

Advanced ~10 min
Prerequisites: captcha/3 captcha/4

What You'll Learn

Combine captcha solving with stealth settings

Real-World Use Case

Achieving high success rates on protected sites

LIVE DEMO

Access Blocked by WAF

Your request has been blocked.

Reference: WAF-2025-001
EXPECTED OUTPUT

RTILA X PROJECT JSON

    {
  "name": "WAF_Proxy_Rotation_Retry",
  "settings": {
    "urls": [
      "https://learn.rtila.com/scenarios/captcha/5"
    ],
    "proxyEnabled": true,
    "proxyList": "http://proxy1:8080\nhttp://proxy2:8080"
  },
  "datasets": {
    "waf_data": {
      "item_selector": "css=table.waf-content-table tr",
      "properties": [
        {
          "name": "field",
          "type": "text",
          "selector": "css=td:nth-child(1)"
        },
        {
          "name": "value",
          "type": "text",
          "selector": "css=td:nth-child(2)"
        }
      ]
    }
  },
  "commands": [
    {
      "command": "if",
      "params": {
        "condition": {
          "type": "script",
          "expression": "document.body.innerText.includes('Access Blocked by WAF')"
        },
        "then": [
          {
            "command": "comment",
            "params": {
              "text": "Rotate proxy and retry"
            }
          },
          {
            "command": "goto",
            "params": {
              "url": "https://learn.rtila.com/scenarios/captcha/5"
            }
          }
        ],
        "else": []
      }
    },
    {
      "command": "wait_for_selector",
      "params": {
        "selector": "css=.waf-content"
      }
    },
    {
      "command": "extract_data",
      "params": {
        "dataset": "waf_data"
      }
    }
  ]
}
  

A script condition detects WAF block text and triggers a proxy rotation retry. The second goto request uses the next proxy from the configured list and reaches the real content.

Did you complete this scenario?

Ready to run this automation?

Copy the project JSON above, open RTILA X, create a new project, and paste it.

This scenario covers 2 RTILA X commands and is referenced in 2 learning articles.

Continue Learning

Was this helpful?