ပရောက်စီ IP ပြောင်းလျှင် Session ပြန်စသလား
IP ပြောင်းခြင်းသည် browser cookie သို့မဟုတ် Requests Session ကို မရှင်းပါ။ ကွန်ရက်လမ်းကြောင်းနှင့် အက်ပ်အခြေအနေကို ခွဲထားပါ။
မဟုတ်ပါ။ ပရောက်စီပြောင်းခြင်းသည် cookie မရှင်း၊ အကောင့်ကို logout မလုပ်၊ browser profile အသစ် မဖန်တီးပါ။ IP ပြောင်းပြီးနောက်လည်း ဝဘ်ဆိုက်က session cookie အဟောင်းကို သိနိုင်ပြီး API က key အဟောင်းကို သိနိုင်သည်။
Browser ထဲတွင်
profile ထဲရှိ သိမ်းထားသော အက်ပ်အခြေအနေက ဆက်ရှိသည်။ ကွန်ရက်ပြောင်းမှုကို သတိပြုမိလျှင် ဆိုက်က login ဆက်ထားနိုင်သကဲ့သို့ စစ်ဆေးမှုလည်း တောင်းနိုင်သည်။ မည်သည့်အပြုအမူကို သုံးမည်ဆိုသည်ကို အက်ပ်က ဆုံးဖြတ်သည်။
သီးခြားစမ်းသပ် profile က အခမဲ့ပရောက်စီစစ်ဆေးမှုကို ရှိပြီးသားကိုယ်ပိုင် session များနှင့် ခွဲထားသည်။ ၎င်းတစ်ခုတည်းက အမည်မဖော်နိုင်မှုကို မအာမခံပါ။
Python Requests ထဲတွင်
Requests Session က cookie jar နှင့် connection pool များကို ထိန်းထားသည်။ အောက်ပါ request နှစ်ခုက ပရောက်စီမတူသည်ကို ရွေးသော်လည်း တူညီသော Session ကို သုံးသည်။ မသုံးမီ စာရွက်စာတမ်း endpoint များကို အစားထိုးပါ။ HTTP proxy စာရင်းက ဤ HTTP ပရောက်စီနှိုင်းယှဉ်မှုအတွက် ရွေးချယ်စရာပေးနိုင်သည်။
import requests
with requests.Session() as session:
session.trust_env = False
# The same cookie jar remains available across these requests.
first = session.get(
"https://example.com/",
proxies={"https": "http://203.0.113.10:8080"},
timeout=(5, 15),
)
second = session.get(
"https://example.com/",
proxies={"https": "http://203.0.113.20:8080"},
timeout=(5, 15),
)
သီးခြားအက်ပ် session လိုအပ်သော အလုပ်တစ်ခုစီအတွက် Session သီးခြားဖန်တီးပါ။ cookie jar တစ်ခုတည်းရှင်းခြင်းက custom header သို့မဟုတ် အခြားနေရာတွင် သိမ်းထားသော အကောင့်ဝင်အချက်အလက် စသည့် အခြားအခြေအနေကို မပြောင်းပါ။
IP စစ်ဆေးသည့် response နှင့် login စစ်ဆေးမှုက မေးခွန်းမတူသည်ကို ဖြေသည်။ ပထမတစ်ခုက ပြောင်းသွားသောထွက်ပေါက်လိပ်စာကို ပြနိုင်သည်။ login ဆက်ရှိခြင်းက ထိုအချက်ကို မဆန့်ကျင်ပါ။ logout ဖြစ်ခြင်းလည်း ပရောက်စီပြောင်းသည့်အထောက်အထား မဟုတ်ပါ။ cookie သက်တမ်းကုန်သွားခြင်းသာ ဖြစ်နိုင်သည်။