[{"data":1,"prerenderedAt":459},["ShallowReactive",2],{"doc-zh-cn-usage\u002Fsession-control":3},{"id":4,"title":5,"body":6,"description":12,"extension":452,"faq":453,"meta":454,"navigation":201,"path":455,"seo":456,"stem":457,"__hash__":458},"docs\u002Fdocs\u002Fzh-cn\u002Fusage\u002Fsession-control.md","会话控制",{"type":7,"value":8,"toc":447},"minimark",[9,13,18,26,69,72,75,90,115,156,159,162,171,180,436,443],[10,11,12],"p",{},"动态住宅代理有两种会话模式:轮换(默认)和粘性。模式通过 username 参数切换,无需任何后台设置。",[14,15,17],"h2",{"id":16},"轮换模式默认","轮换模式(默认)",[10,19,20,21,25],{},"不带会话参数时,",[22,23,24],"strong",{},"每次连接请求自动分配一个新 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# 连续执行两次,返回的 IP 不同\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","# 连续执行两次,返回的 IP 不同\n",[10,70,71],{},"适合:数据采集、价格监控、广告验证等希望每个请求来自不同 IP 的场景。",[14,73,74],{"id":74},"粘性模式",[10,76,77,78,81,82,85,86,89],{},"追加 ",[34,79,80],{},"-sid-{8位随机}-ttl-{分钟}",",同一 ",[34,83,84],{},"sid"," 在 ",[34,87,88],{},"ttl"," 时间内复用同一 IP:",[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# 30 分钟内用同一 sid 重复请求,返回同一 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},"# 30 分钟内用同一 sid 重复请求,返回同一 IP\n",[116,117,118,131],"table",{},[119,120,121],"thead",{},[122,123,124,128],"tr",{},[125,126,127],"th",{},"参数",[125,129,130],{},"说明",[132,133,134,144],"tbody",{},[122,135,136,141],{},[137,138,139],"td",{},[34,140,84],{},[137,142,143],{},"会话标识,8 位随机字母数字,由你自行生成;每个 sid 对应一个独立会话",[122,145,146,150],{},[137,147,148],{},[34,149,88],{},[137,151,152,153],{},"IP 保持时长(分钟),",[22,154,155],{},"1–120",[10,157,158],{},"适合:账号登录、多步骤表单、购物车流程等需要会话持久性的操作。",[14,160,161],{"id":161},"会话管理技巧",[10,163,164,167,168,170],{},[22,165,166],{},"主动换 IP",":换一个新的 ",[34,169,84],{}," 即立刻获得新 IP,不必等 ttl 到期。",[10,172,173,176,177,179],{},[22,174,175],{},"并行多会话",":不同 ",[34,178,84],{}," 互相独立,可同时维持任意多个固定 IP 的并行会话:",[27,181,185],{"className":182,"code":183,"language":184,"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 个互相独立的美国固定 IP 会话\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,186,187,197,203,227,260,271,301,307,313,334,339,345,383,396],{"__ignoreMap":32},[37,188,189,193],{"class":39,"line":40},[37,190,192],{"class":191},"sD7c4","import",[37,194,196],{"class":195},"sgsFI"," random, string, requests\n",[37,198,199],{"class":39,"line":64},[37,200,202],{"emptyLinePlaceholder":201},true,"\n",[37,204,206,209,212,215,218,221,224],{"class":39,"line":205},3,[37,207,208],{"class":191},"def",[37,210,211],{"class":43}," make_session_proxy",[37,213,214],{"class":195},"(country: ",[37,216,217],{"class":47},"str",[37,219,220],{"class":195},") -> ",[37,222,223],{"class":47},"dict",[37,225,226],{"class":195},":\n",[37,228,230,233,236,239,242,245,248,252,254,257],{"class":39,"line":229},4,[37,231,232],{"class":195},"    sid ",[37,234,235],{"class":191},"=",[37,237,238],{"class":51}," \"\"",[37,240,241],{"class":195},".join(random.choices(string.ascii_lowercase ",[37,243,244],{"class":191},"+",[37,246,247],{"class":195}," string.digits, ",[37,249,251],{"class":250},"sqxcx","k",[37,253,235],{"class":191},[37,255,256],{"class":47},"8",[37,258,259],{"class":195},"))\n",[37,261,263,266,268],{"class":39,"line":262},5,[37,264,265],{"class":195},"    url ",[37,267,235],{"class":191},[37,269,270],{"class":195}," (\n",[37,272,274,277,280,283,286,289,292,294,296,298],{"class":39,"line":273},6,[37,275,276],{"class":191},"        f",[37,278,279],{"class":51},"\"http:\u002F\u002FUSERNAME-pool-flow-region-",[37,281,282],{"class":47},"{",[37,284,285],{"class":195},"country",[37,287,288],{"class":47},"}",[37,290,291],{"class":51},"-sid-",[37,293,282],{"class":47},[37,295,84],{"class":195},[37,297,288],{"class":47},[37,299,300],{"class":51},"-ttl-30:PASSWORD\"\n",[37,302,304],{"class":39,"line":303},7,[37,305,306],{"class":51},"        \"@proxy.eproxies.net:23333\"\n",[37,308,310],{"class":39,"line":309},8,[37,311,312],{"class":195},"    )\n",[37,314,316,319,322,325,328,331],{"class":39,"line":315},9,[37,317,318],{"class":191},"    return",[37,320,321],{"class":195}," {",[37,323,324],{"class":51},"\"http\"",[37,326,327],{"class":195},": url, ",[37,329,330],{"class":51},"\"https\"",[37,332,333],{"class":195},": url}\n",[37,335,337],{"class":39,"line":336},10,[37,338,202],{"emptyLinePlaceholder":201},[37,340,342],{"class":39,"line":341},11,[37,343,344],{"class":67},"# 10 个互相独立的美国固定 IP 会话\n",[37,346,348,351,353,356,359,362,365,368,371,374,377,380],{"class":39,"line":347},12,[37,349,350],{"class":195},"sessions ",[37,352,235],{"class":191},[37,354,355],{"class":195}," [make_session_proxy(",[37,357,358],{"class":51},"\"US\"",[37,360,361],{"class":195},") ",[37,363,364],{"class":191},"for",[37,366,367],{"class":195}," _ ",[37,369,370],{"class":191},"in",[37,372,373],{"class":47}," range",[37,375,376],{"class":195},"(",[37,378,379],{"class":47},"10",[37,381,382],{"class":195},")]\n",[37,384,386,388,391,393],{"class":39,"line":385},13,[37,387,364],{"class":191},[37,389,390],{"class":195}," proxies ",[37,392,370],{"class":191},[37,394,395],{"class":195}," sessions:\n",[37,397,399,402,405,408,411,414,416,419,422,424,427,430,433],{"class":39,"line":398},14,[37,400,401],{"class":47},"    print",[37,403,404],{"class":195},"(requests.get(",[37,406,407],{"class":51},"\"https:\u002F\u002Fipinfo.io\"",[37,409,410],{"class":195},", ",[37,412,413],{"class":250},"proxies",[37,415,235],{"class":191},[37,417,418],{"class":195},"proxies, ",[37,420,421],{"class":250},"timeout",[37,423,235],{"class":191},[37,425,426],{"class":47},"30",[37,428,429],{"class":195},").json()[",[37,431,432],{"class":51},"\"ip\"",[37,434,435],{"class":195},"])\n",[437,438,440],"hint",{"type":439},"info",[10,441,442],{},"住宅 IP 来自真实设备,粘性会话期间设备下线可能导致 IP 更换。对可靠性要求高的流程建议在业务层校验出口 IP 是否变化。",[444,445,446],"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":448},[449,450,451],{"id":16,"depth":64,"text":17},{"id":74,"depth":64,"text":74},{"id":161,"depth":64,"text":161},"md",null,{},"\u002Fdocs\u002Fzh-cn\u002Fusage\u002Fsession-control",{"title":5,"description":12},"docs\u002Fzh-cn\u002Fusage\u002Fsession-control","1D5eq-RU0yMXaevAgJcmg6yriwvckLMV2tO34GelR4w",1785671055506]