[{"data":1,"prerenderedAt":461},["ShallowReactive",2],{"doc-en-usage\u002Fsession-control":3},{"id":4,"title":5,"body":6,"description":453,"extension":454,"faq":455,"meta":456,"navigation":202,"path":457,"seo":458,"stem":459,"__hash__":460},"docs\u002Fdocs\u002Fen\u002Fusage\u002Fsession-control.md","Session Control",{"type":7,"value":8,"toc":448},"minimark",[9,13,18,26,69,72,76,90,115,156,159,163,172,181,437,444],[10,11,12],"p",{},"Residential Proxies have two session modes: rotating (default) and sticky. You switch modes purely through username parameters — no dashboard settings involved.",[14,15,17],"h2",{"id":16},"rotating-mode-default","Rotating mode (default)",[10,19,20,21,25],{},"Without session parameters, ",[22,23,24],"strong",{},"every connection request is assigned a new IP",":",[27,28,33],"pre",{"className":29,"code":30,"language":31,"meta":32,"style":32},"language-bash shiki shiki-themes github-light","curl -x proxy.eproxies.net:23333 -U \"USERNAME-pool-flow-region-US:PASSWORD\" https:\u002F\u002Fipinfo.io\n# Run it twice in a row and you get two different IPs\n","bash","",[34,35,36,62],"code",{"__ignoreMap":32},[37,38,41,45,49,53,56,59],"span",{"class":39,"line":40},"line",1,[37,42,44],{"class":43},"s7eDp","curl",[37,46,48],{"class":47},"sYu0t"," -x",[37,50,52],{"class":51},"sYBdl"," proxy.eproxies.net:23333",[37,54,55],{"class":47}," -U",[37,57,58],{"class":51}," \"USERNAME-pool-flow-region-US:PASSWORD\"",[37,60,61],{"class":51}," https:\u002F\u002Fipinfo.io\n",[37,63,65],{"class":39,"line":64},2,[37,66,68],{"class":67},"sAwPA","# Run it twice in a row and you get two different IPs\n",[10,70,71],{},"Best for: data collection, price monitoring, ad verification — anywhere you want each request to come from a different IP.",[14,73,75],{"id":74},"sticky-mode","Sticky mode",[10,77,78,79,82,83,86,87,25],{},"Append ",[34,80,81],{},"-sid-{8-char random}-ttl-{minutes}","; the same ",[34,84,85],{},"sid"," reuses the same IP for the duration of ",[34,88,89],{},"ttl",[27,91,93],{"className":29,"code":92,"language":31,"meta":32,"style":32},"curl -x proxy.eproxies.net:23333 -U \"USERNAME-pool-flow-region-US-sid-a1b2c3d4-ttl-30:PASSWORD\" https:\u002F\u002Fipinfo.io\n# Repeat requests with the same sid within 30 minutes return the same IP\n",[34,94,95,110],{"__ignoreMap":32},[37,96,97,99,101,103,105,108],{"class":39,"line":40},[37,98,44],{"class":43},[37,100,48],{"class":47},[37,102,52],{"class":51},[37,104,55],{"class":47},[37,106,107],{"class":51}," \"USERNAME-pool-flow-region-US-sid-a1b2c3d4-ttl-30:PASSWORD\"",[37,109,61],{"class":51},[37,111,112],{"class":39,"line":64},[37,113,114],{"class":67},"# Repeat requests with the same sid within 30 minutes return the same IP\n",[116,117,118,131],"table",{},[119,120,121],"thead",{},[122,123,124,128],"tr",{},[125,126,127],"th",{},"Parameter",[125,129,130],{},"Description",[132,133,134,144],"tbody",{},[122,135,136,141],{},[137,138,139],"td",{},[34,140,85],{},[137,142,143],{},"Session ID: 8 random alphanumeric characters, generated by you; each sid is an independent session",[122,145,146,150],{},[137,147,148],{},[34,149,89],{},[137,151,152,153],{},"IP hold time in minutes, ",[22,154,155],{},"1–120",[10,157,158],{},"Best for: account logins, multi-step forms, checkout flows — anything that needs session persistence.",[14,160,162],{"id":161},"session-management-tips","Session management tips",[10,164,165,168,169,171],{},[22,166,167],{},"Rotate on demand",": switch to a new ",[34,170,85],{}," to get a new IP immediately, without waiting for the ttl to expire.",[10,173,174,177,178,180],{},[22,175,176],{},"Parallel sessions",": different ",[34,179,85],{},"s are fully independent, so you can hold any number of fixed-IP sessions in parallel:",[27,182,186],{"className":183,"code":184,"language":185,"meta":32,"style":32},"language-python shiki shiki-themes github-light","import random, string, requests\n\ndef make_session_proxy(country: str) -> dict:\n    sid = \"\".join(random.choices(string.ascii_lowercase + string.digits, k=8))\n    url = (\n        f\"http:\u002F\u002FUSERNAME-pool-flow-region-{country}-sid-{sid}-ttl-30:PASSWORD\"\n        \"@proxy.eproxies.net:23333\"\n    )\n    return {\"http\": url, \"https\": url}\n\n# 10 independent sticky-IP sessions in the US\nsessions = [make_session_proxy(\"US\") for _ in range(10)]\nfor proxies in sessions:\n    print(requests.get(\"https:\u002F\u002Fipinfo.io\", proxies=proxies, timeout=30).json()[\"ip\"])\n","python",[34,187,188,198,204,228,261,272,302,308,314,335,340,346,384,397],{"__ignoreMap":32},[37,189,190,194],{"class":39,"line":40},[37,191,193],{"class":192},"sD7c4","import",[37,195,197],{"class":196},"sgsFI"," random, string, requests\n",[37,199,200],{"class":39,"line":64},[37,201,203],{"emptyLinePlaceholder":202},true,"\n",[37,205,207,210,213,216,219,222,225],{"class":39,"line":206},3,[37,208,209],{"class":192},"def",[37,211,212],{"class":43}," make_session_proxy",[37,214,215],{"class":196},"(country: ",[37,217,218],{"class":47},"str",[37,220,221],{"class":196},") -> ",[37,223,224],{"class":47},"dict",[37,226,227],{"class":196},":\n",[37,229,231,234,237,240,243,246,249,253,255,258],{"class":39,"line":230},4,[37,232,233],{"class":196},"    sid ",[37,235,236],{"class":192},"=",[37,238,239],{"class":51}," \"\"",[37,241,242],{"class":196},".join(random.choices(string.ascii_lowercase ",[37,244,245],{"class":192},"+",[37,247,248],{"class":196}," string.digits, ",[37,250,252],{"class":251},"sqxcx","k",[37,254,236],{"class":192},[37,256,257],{"class":47},"8",[37,259,260],{"class":196},"))\n",[37,262,264,267,269],{"class":39,"line":263},5,[37,265,266],{"class":196},"    url ",[37,268,236],{"class":192},[37,270,271],{"class":196}," (\n",[37,273,275,278,281,284,287,290,293,295,297,299],{"class":39,"line":274},6,[37,276,277],{"class":192},"        f",[37,279,280],{"class":51},"\"http:\u002F\u002FUSERNAME-pool-flow-region-",[37,282,283],{"class":47},"{",[37,285,286],{"class":196},"country",[37,288,289],{"class":47},"}",[37,291,292],{"class":51},"-sid-",[37,294,283],{"class":47},[37,296,85],{"class":196},[37,298,289],{"class":47},[37,300,301],{"class":51},"-ttl-30:PASSWORD\"\n",[37,303,305],{"class":39,"line":304},7,[37,306,307],{"class":51},"        \"@proxy.eproxies.net:23333\"\n",[37,309,311],{"class":39,"line":310},8,[37,312,313],{"class":196},"    )\n",[37,315,317,320,323,326,329,332],{"class":39,"line":316},9,[37,318,319],{"class":192},"    return",[37,321,322],{"class":196}," {",[37,324,325],{"class":51},"\"http\"",[37,327,328],{"class":196},": url, ",[37,330,331],{"class":51},"\"https\"",[37,333,334],{"class":196},": url}\n",[37,336,338],{"class":39,"line":337},10,[37,339,203],{"emptyLinePlaceholder":202},[37,341,343],{"class":39,"line":342},11,[37,344,345],{"class":67},"# 10 independent sticky-IP sessions in the US\n",[37,347,349,352,354,357,360,363,366,369,372,375,378,381],{"class":39,"line":348},12,[37,350,351],{"class":196},"sessions ",[37,353,236],{"class":192},[37,355,356],{"class":196}," [make_session_proxy(",[37,358,359],{"class":51},"\"US\"",[37,361,362],{"class":196},") ",[37,364,365],{"class":192},"for",[37,367,368],{"class":196}," _ ",[37,370,371],{"class":192},"in",[37,373,374],{"class":47}," range",[37,376,377],{"class":196},"(",[37,379,380],{"class":47},"10",[37,382,383],{"class":196},")]\n",[37,385,387,389,392,394],{"class":39,"line":386},13,[37,388,365],{"class":192},[37,390,391],{"class":196}," proxies ",[37,393,371],{"class":192},[37,395,396],{"class":196}," sessions:\n",[37,398,400,403,406,409,412,415,417,420,423,425,428,431,434],{"class":39,"line":399},14,[37,401,402],{"class":47},"    print",[37,404,405],{"class":196},"(requests.get(",[37,407,408],{"class":51},"\"https:\u002F\u002Fipinfo.io\"",[37,410,411],{"class":196},", ",[37,413,414],{"class":251},"proxies",[37,416,236],{"class":192},[37,418,419],{"class":196},"proxies, ",[37,421,422],{"class":251},"timeout",[37,424,236],{"class":192},[37,426,427],{"class":47},"30",[37,429,430],{"class":196},").json()[",[37,432,433],{"class":51},"\"ip\"",[37,435,436],{"class":196},"])\n",[438,439,441],"hint",{"type":440},"info",[10,442,443],{},"Residential IPs come from real devices, so a device going offline during a sticky session can cause an IP change. For reliability-critical flows, verify the exit IP at the application level.",[445,446,447],"style",{},"html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sD7c4, html code.shiki .sD7c4{--shiki-default:#D73A49}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .sqxcx, html code.shiki .sqxcx{--shiki-default:#E36209}",{"title":32,"searchDepth":64,"depth":64,"links":449},[450,451,452],{"id":16,"depth":64,"text":17},{"id":74,"depth":64,"text":75},{"id":161,"depth":64,"text":162},"Residential Proxies have two session modes: rotating (default) and sticky. You switch modes purely through username parameters — no dashboard settings i…","md",null,{},"\u002Fdocs\u002Fen\u002Fusage\u002Fsession-control",{"title":5,"description":453},"docs\u002Fen\u002Fusage\u002Fsession-control","np5Y1QFRQJp2YZ1Sg-aq2UXIPMwFJlkgAMGUXNfF07g",1785671055506]