Rotation and sticky sessions

Control how often your exit address changes.

By default every request gets a fresh exit. That is the right behaviour for stateless fetching and the wrong behaviour for anything involving a login, a cart or a multi-step form. Sessions let you choose per request.

Rotating

text
wp-acc4821-country-us    # new address on every request

Sticky

Any string after -session- becomes a session key. Reuse the key and you get the same exit; change it and you get a different one. Keys are scoped to your account, so you cannot collide with another customer.

text
wp-acc4821-country-us-session-cart42                 # 10 minutes (default)
wp-acc4821-country-us-session-cart42-sesstime-60    # 60 minutes
wp-acc4821-country-us-session-cart42-sesstime-120   # maximum

Generating keys in code

import uuid, requests

def session_proxy(country="us", minutes=30):
    key = uuid.uuid4().hex[:12]
    user = f"wp-acc4821-country-{country}-session-{key}-sesstime-{minutes}"
    return f"http://{user}:s3cr3t-pass@res.wproxy.io:8000"

s = requests.Session()
p = session_proxy()
s.proxies = {"http": p, "https": p}

s.post("https://example.com/login", data={"u": "...", "p": "..."})
s.get("https://example.com/account")  # same exit address

When a session breaks early

Residential and mobile exits are real devices. They go to sleep, lose signal and get unplugged. When the exit behind an active session disappears, we substitute the closest equivalent — same city and ASN where possible — and set a header rather than dropping the request.

http
x-wproxy-session: cart42
x-wproxy-session-rotated: true
x-wproxy-exit-ip: 84.19.44.201

Practical guidance

Treat a rotated session as a logged-out session. Watch for the header, re-authenticate, and carry on. Workloads that assume a session is immortal for 120 minutes are the single most common cause of mysterious mid-crawl failures.

ISP and dedicated

If you need an address that genuinely never changes, sessions are the wrong tool. ISP and dedicated products allocate fixed addresses that stay yours for the billing period, with no session syntax involved.

Something inaccurate?Tell support