[{"data":1,"prerenderedAt":466},["ShallowReactive",2],{"doc-vi-usage\u002Fsession-control":3},{"id":4,"title":5,"body":6,"description":12,"extension":459,"faq":460,"meta":461,"navigation":208,"path":462,"seo":463,"stem":464,"__hash__":465},"docs\u002Fdocs\u002Fvi\u002Fusage\u002Fsession-control.md","Kiểm soát phiên",{"type":7,"value":8,"toc":454},"minimark",[9,13,18,26,69,72,76,90,115,159,162,166,178,187,443,450],[10,11,12],"p",{},"Proxy Dân Cư có hai chế độ phiên: xoay vòng (mặc định) và cố định. Chế độ được chuyển đổi qua tham số username, không cần bất kỳ thiết lập backend nào.",[14,15,17],"h2",{"id":16},"chế-độ-xoay-vòng-mặc-định","Chế độ xoay vòng (mặc định)",[10,19,20,21,25],{},"Khi không kèm tham số phiên, ",[22,23,24],"strong",{},"mỗi request kết nối được tự động cấp một IP mới",":",[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# Chạy liên tiếp hai lần, IP trả về sẽ khác nhau\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","# Chạy liên tiếp hai lần, IP trả về sẽ khác nhau\n",[10,70,71],{},"Phù hợp cho: thu thập dữ liệu, giám sát giá, xác minh quảng cáo và các kịch bản muốn mỗi request đến từ một IP khác nhau.",[14,73,75],{"id":74},"chế-độ-cố-định","Chế độ cố định",[10,77,78,79,82,83,86,87,25],{},"Thêm ",[34,80,81],{},"-sid-{8 ký tự ngẫu nhiên}-ttl-{phút}","; cùng một ",[34,84,85],{},"sid"," sẽ dùng lại cùng một IP trong khoảng thời gian ",[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# Trong 30 phút, lặp lại request với cùng sid sẽ trả về cùng một 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},"# Trong 30 phút, lặp lại request với cùng sid sẽ trả về cùng một IP\n",[116,117,118,131],"table",{},[119,120,121],"thead",{},[122,123,124,128],"tr",{},[125,126,127],"th",{},"Tham số",[125,129,130],{},"Mô tả",[132,133,134,147],"tbody",{},[122,135,136,141],{},[137,138,139],"td",{},[34,140,85],{},[137,142,143,144,146],{},"Mã phiên, 8 ký tự chữ và số ngẫu nhiên do bạn tự sinh; mỗi ",[34,145,85],{}," tương ứng một phiên độc lập",[122,148,149,153],{},[137,150,151],{},[34,152,89],{},[137,154,155,156],{},"Thời gian giữ IP (phút), ",[22,157,158],{},"1–120",[10,160,161],{},"Phù hợp cho: đăng nhập tài khoản, biểu mẫu nhiều bước, quy trình giỏ hàng và các thao tác cần duy trì phiên liên tục.",[14,163,165],{"id":164},"mẹo-quản-lý-phiên","Mẹo quản lý phiên",[10,167,168,171,172,174,175,177],{},[22,169,170],{},"Chủ động đổi IP",": đổi sang một ",[34,173,85],{}," mới là lập tức có IP mới, không cần chờ ",[34,176,89],{}," hết hạn.",[10,179,180,183,184,186],{},[22,181,182],{},"Nhiều phiên song song",": các ",[34,185,85],{}," khác nhau độc lập với nhau, có thể duy trì đồng thời bao nhiêu phiên IP cố định song song tùy ý:",[27,188,192],{"className":189,"code":190,"language":191,"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 phiên IP cố định tại Mỹ, độc lập với nhau\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,193,194,204,210,234,267,278,308,314,320,341,346,352,390,403],{"__ignoreMap":32},[37,195,196,200],{"class":39,"line":40},[37,197,199],{"class":198},"sD7c4","import",[37,201,203],{"class":202},"sgsFI"," random, string, requests\n",[37,205,206],{"class":39,"line":64},[37,207,209],{"emptyLinePlaceholder":208},true,"\n",[37,211,213,216,219,222,225,228,231],{"class":39,"line":212},3,[37,214,215],{"class":198},"def",[37,217,218],{"class":43}," make_session_proxy",[37,220,221],{"class":202},"(country: ",[37,223,224],{"class":47},"str",[37,226,227],{"class":202},") -> ",[37,229,230],{"class":47},"dict",[37,232,233],{"class":202},":\n",[37,235,237,240,243,246,249,252,255,259,261,264],{"class":39,"line":236},4,[37,238,239],{"class":202},"    sid ",[37,241,242],{"class":198},"=",[37,244,245],{"class":51}," \"\"",[37,247,248],{"class":202},".join(random.choices(string.ascii_lowercase ",[37,250,251],{"class":198},"+",[37,253,254],{"class":202}," string.digits, ",[37,256,258],{"class":257},"sqxcx","k",[37,260,242],{"class":198},[37,262,263],{"class":47},"8",[37,265,266],{"class":202},"))\n",[37,268,270,273,275],{"class":39,"line":269},5,[37,271,272],{"class":202},"    url ",[37,274,242],{"class":198},[37,276,277],{"class":202}," (\n",[37,279,281,284,287,290,293,296,299,301,303,305],{"class":39,"line":280},6,[37,282,283],{"class":198},"        f",[37,285,286],{"class":51},"\"http:\u002F\u002FUSERNAME-pool-flow-region-",[37,288,289],{"class":47},"{",[37,291,292],{"class":202},"country",[37,294,295],{"class":47},"}",[37,297,298],{"class":51},"-sid-",[37,300,289],{"class":47},[37,302,85],{"class":202},[37,304,295],{"class":47},[37,306,307],{"class":51},"-ttl-30:PASSWORD\"\n",[37,309,311],{"class":39,"line":310},7,[37,312,313],{"class":51},"        \"@proxy.eproxies.net:23333\"\n",[37,315,317],{"class":39,"line":316},8,[37,318,319],{"class":202},"    )\n",[37,321,323,326,329,332,335,338],{"class":39,"line":322},9,[37,324,325],{"class":198},"    return",[37,327,328],{"class":202}," {",[37,330,331],{"class":51},"\"http\"",[37,333,334],{"class":202},": url, ",[37,336,337],{"class":51},"\"https\"",[37,339,340],{"class":202},": url}\n",[37,342,344],{"class":39,"line":343},10,[37,345,209],{"emptyLinePlaceholder":208},[37,347,349],{"class":39,"line":348},11,[37,350,351],{"class":67},"# 10 phiên IP cố định tại Mỹ, độc lập với nhau\n",[37,353,355,358,360,363,366,369,372,375,378,381,384,387],{"class":39,"line":354},12,[37,356,357],{"class":202},"sessions ",[37,359,242],{"class":198},[37,361,362],{"class":202}," [make_session_proxy(",[37,364,365],{"class":51},"\"US\"",[37,367,368],{"class":202},") ",[37,370,371],{"class":198},"for",[37,373,374],{"class":202}," _ ",[37,376,377],{"class":198},"in",[37,379,380],{"class":47}," range",[37,382,383],{"class":202},"(",[37,385,386],{"class":47},"10",[37,388,389],{"class":202},")]\n",[37,391,393,395,398,400],{"class":39,"line":392},13,[37,394,371],{"class":198},[37,396,397],{"class":202}," proxies ",[37,399,377],{"class":198},[37,401,402],{"class":202}," sessions:\n",[37,404,406,409,412,415,418,421,423,426,429,431,434,437,440],{"class":39,"line":405},14,[37,407,408],{"class":47},"    print",[37,410,411],{"class":202},"(requests.get(",[37,413,414],{"class":51},"\"https:\u002F\u002Fipinfo.io\"",[37,416,417],{"class":202},", ",[37,419,420],{"class":257},"proxies",[37,422,242],{"class":198},[37,424,425],{"class":202},"proxies, ",[37,427,428],{"class":257},"timeout",[37,430,242],{"class":198},[37,432,433],{"class":47},"30",[37,435,436],{"class":202},").json()[",[37,438,439],{"class":51},"\"ip\"",[37,441,442],{"class":202},"])\n",[444,445,447],"hint",{"type":446},"info",[10,448,449],{},"IP dân cư đến từ thiết bị thật; trong thời gian phiên cố định, nếu thiết bị ngắt kết nối thì IP có thể bị thay đổi. Với các quy trình đòi hỏi độ tin cậy cao, khuyến nghị kiểm tra ở tầng nghiệp vụ xem IP đầu ra có thay đổi hay không.",[451,452,453],"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":455},[456,457,458],{"id":16,"depth":64,"text":17},{"id":74,"depth":64,"text":75},{"id":164,"depth":64,"text":165},"md",null,{},"\u002Fdocs\u002Fvi\u002Fusage\u002Fsession-control",{"title":5,"description":12},"docs\u002Fvi\u002Fusage\u002Fsession-control","9_vKk4YBYeagw0E0ESwgCZrYzesg0WL70odS1BSKZT8",1785671056285]