[{"data":1,"prerenderedAt":461},["ShallowReactive",2],{"doc-pt-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\u002Fpt\u002Fusage\u002Fsession-control.md","Controle de sessão",{"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",{},"Os Proxies Residenciais têm dois modos de sessão: rotação (padrão) e sessão fixa. O modo é alternado pelos parâmetros do username, sem nenhuma configuração no backend.",[14,15,17],"h2",{"id":16},"modo-de-rotação-padrão","Modo de rotação (padrão)",[10,19,20,21,25],{},"Sem parâmetros de sessão, ",[22,23,24],"strong",{},"cada requisição de conexão recebe automaticamente um novo 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# Execute duas vezes seguidas e os IPs retornados serão diferentes\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","# Execute duas vezes seguidas e os IPs retornados serão diferentes\n",[10,70,71],{},"Ideal para: coleta de dados, monitoramento de preços, verificação de anúncios e outros cenários em que cada requisição deve vir de um IP diferente.",[14,73,75],{"id":74},"modo-de-sessão-fixa-sticky","Modo de sessão fixa (sticky)",[10,77,78,79,82,83,86,87,25],{},"Acrescente ",[34,80,81],{},"-sid-{8 caracteres aleatórios}-ttl-{minutos}","; o mesmo ",[34,84,85],{},"sid"," reutiliza o mesmo IP durante o período do ",[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# Repetindo a requisição com o mesmo sid em até 30 minutos, o IP retornado é o mesmo\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},"# Repetindo a requisição com o mesmo sid em até 30 minutos, o IP retornado é o mesmo\n",[116,117,118,131],"table",{},[119,120,121],"thead",{},[122,123,124,128],"tr",{},[125,126,127],"th",{},"Parâmetro",[125,129,130],{},"Descrição",[132,133,134,144],"tbody",{},[122,135,136,141],{},[137,138,139],"td",{},[34,140,85],{},[137,142,143],{},"identificador de sessão: 8 caracteres alfanuméricos aleatórios, gerados por você; cada sid corresponde a uma sessão independente",[122,145,146,150],{},[137,147,148],{},[34,149,89],{},[137,151,152,153],{},"tempo de retenção do IP (minutos), ",[22,154,155],{},"1–120",[10,157,158],{},"Ideal para: login em contas, formulários de múltiplas etapas, fluxos de carrinho de compras e outras operações que exigem persistência de sessão.",[14,160,162],{"id":161},"dicas-de-gerenciamento-de-sessão","Dicas de gerenciamento de sessão",[10,164,165,168,169,171],{},[22,166,167],{},"Trocar de IP ativamente",": use um novo ",[34,170,85],{}," para obter imediatamente um novo IP, sem precisar esperar o ttl expirar.",[10,173,174,177,178,180],{},[22,175,176],{},"Múltiplas sessões em paralelo",": ",[34,179,85],{},"s diferentes são independentes entre si; é possível manter simultaneamente quantas sessões paralelas de IP fixo você quiser:",[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 sessões independentes com IP fixo dos EUA\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 sessões independentes com IP fixo dos EUA\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],{},"Os IPs residenciais vêm de dispositivos reais; se o dispositivo ficar off-line durante uma sessão fixa, o IP pode mudar. Em fluxos com alta exigência de confiabilidade, recomendamos verificar na camada de negócio se o IP de saída mudou.",[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},"Os Proxies Residenciais têm dois modos de sessão: rotação (padrão) e sessão fixa. O modo é alternado pelos parâmetros do username, sem nenhuma configura…","md",null,{},"\u002Fdocs\u002Fpt\u002Fusage\u002Fsession-control",{"title":5,"description":453},"docs\u002Fpt\u002Fusage\u002Fsession-control","IB3HunccbYjVj8agCFBiyW05pETh4bcC7JVYCmg9NiM",1785671055894]