คำตอบสั้น
ฉันจะคง IP เมืองเดิมไว้สำหรับหลายคำขอได้อย่างไร?
เซสชันแบบสติกกี้ EuroCity Proxies คง IP พอร์ตออกเดียวไว้ นานถึง 30 นาที (IP อาจเปลี่ยนก่อนหน้านั้นได้ เช่น หากอุปกรณ์เรซิเดนเชียลออฟไลน์) เพิ่ม -session-<id>-ttl-<minutes> ต่อท้ายชื่อผู้ใช้ตามเมือง เช่น USERNAME-country-fr-city-lyon-session-lyon1-ttl-10 ณ ตุลาคม 2026 สามารถตั้ง ttl ได้สูงสุด 30 ใช้หนึ่ง session id ต่อเมืองและต่องาน
ชื่อผู้ใช้แบบหมุนเวียนและแบบสติกกี้ต่างกันอย่างไร?
| โหมด | ตัวอย่างชื่อผู้ใช้ | พฤติกรรม IP พอร์ตออก | เหมาะสำหรับ |
|---|---|---|---|
| หมุนเวียน | USERNAME-country-pl-city-krakow | การเชื่อมต่อใหม่มักได้รับ IP ที่แตกต่างกันในเมือง | การโหลดหน้าเว็บแบบอิสระ หนึ่งครั้งต่อการเชื่อมต่อ |
| สติกกี้ 10 นาที | USERNAME-country-pl-city-krakow-session-krk1-ttl-10 | IP เดิมนานสูงสุด 10 นาที แม้ข้ามการเชื่อมต่อใหม่ | การตรวจสอบสั้น ๆ: หนึ่งหน้า สองคลิก หนึ่งภาพหน้าจอ |
| สติกกี้ 30 นาที | USERNAME-country-pl-city-krakow-session-krk2-ttl-30 | IP เดิมนานสูงสุด 30 นาที | การทดสอบไซต์ของคุณเองแบบยาวขึ้น เช่น การชำระเงินในโหมดทดสอบ |
sticky session ทำอะไร?
sticky session ผูก session id เข้ากับ exit IP หนึ่งตัวเป็นระยะเวลาหนึ่ง ทุกการเชื่อมต่อที่ใช้ username เดียวกัน รวมถึง id เดียวกัน จะออกผ่าน IP นั้นจนกว่า ttl จะหมดอายุ IP อาจเปลี่ยนเร็วกว่านั้นได้ เช่น เมื่ออุปกรณ์ที่บ้านที่อยู่เบื้องหลังออฟไลน์
หากไม่มี session id เกตเวย์จะทำงานในโหมดหมุนเวียน การเชื่อมต่อใหม่แต่ละครั้งจะได้ IP จากพูล โดยปกติจะเป็น IP ที่ต่างกัน; หากต้องการ IP ใหม่ทุกคำขอ ให้ส่งหนึ่งคำขอต่อการเชื่อมต่อ (ปิด keep-alive) การหมุนเวียนเหมาะกับคำขอที่เป็นอิสระต่อกัน sticky session เหมาะกับลำดับที่ถูกมองเป็นผู้เยี่ยมชมคนเดียวจากที่เดียว ตัวอย่างคือร้านค้าที่เก็บพื้นที่จัดส่งของคุณไว้ในคุกกี้
เซสชันจะคงเมืองที่คุณเลือกไว้บน รายการเมือง; รวมเข้ากับ การกำหนดเป้าหมาย ASN และตรวจสอบ exit ด้วย ตัวตรวจสอบเมืองของพร็อกซี แพ็กเกจอยู่บน หน้าราคา
ทำไมต้องใช้หนึ่งเซสชันต่อเมืองและต่องาน?
เพราะแต่ละงานจะมีจุดเริ่มต้นที่ชัดเจน exit ที่รู้จัก และจุดสิ้นสุดที่สะอาด ตั้งชื่อ id ตามเมืองและงาน เช่น lyon1 สำหรับการตรวจ Lyon ครั้งแรก krk2 สำหรับการตรวจ Kraków ครั้งที่สอง session id รับได้ 1 ถึง 32 ตัวอักษรหรือตัวเลข
วิธีนี้ทำให้ผลลัพธ์อ่านง่าย เมื่อหน้า Lyon ดูผิดปกติ คุณจะรู้ว่า exit ใดให้บริการและตรวจสอบ IP นั้นได้ อีกทั้งยังป้องกันไม่ให้เซสชันที่มีอายุยาวหนึ่งเซสชันผสมการตรวจ คุกกี้ และตะกร้าหลายรายการบนที่อยู่เดียวกัน เมื่องานสิ้นสุด ให้ปิดไคลเอนต์ของงานนั้นแล้วเริ่มงานถัดไปด้วย id ใหม่
ควรเลือก ttl-10 หรือ ttl-30?
เลือก ttl ที่สั้นที่สุดที่ครอบคลุมงาน: ttl-10 สำหรับการตรวจส่วนใหญ่ ttl-30 เฉพาะโฟลว์ที่ยาว การตรวจหน้าเมือง สินค้า และช่วงเวลาจัดส่งมักพอในสิบนาที การทดสอบการชำระเงินของคุณเองซึ่งมีแบบฟอร์มและขั้นตอนการชำระเงินในโหมดทดสอบอาจต้องใช้สามสิบ
อย่าวางแผนเผื่อ full ttl อ่าน exit IP ตอนเริ่มและตอนจบของงาน หากเปลี่ยนไป แสดงว่าอุปกรณ์ออฟไลน์ ให้ทำงานนั้นซ้ำหนึ่งครั้งด้วย id ใหม่ ค่าสูงสุดคือ 30 นาที ดังนั้นแบ่งงานที่ยาวกว่าออกเป็นหลายงาน
keep-alive เปลี่ยน exit IP อย่างไร?
keep-alive ทำให้การเชื่อมต่อหนึ่งเปิดค้างไว้ และการเชื่อมต่อหนึ่งคง exit หนึ่งตัว การเชื่อมต่อ HTTP/1.1 เป็นแบบ persistent โดยค่าเริ่มต้นตาม RFC 9112 ไคลเอนต์จึงใช้ซ้ำเว้นแต่จะสั่งให้ปิด
- requests:
Sessionใช้การเชื่อมต่อซ้ำจากพูลของมัน เอกสาร Requests อธิบาย keep-alive ว่าเป็นอัตโนมัติภายในเซสชัน - httpx:
Clientคงการเชื่อมต่อเปิดไว้ในลักษณะเดียวกัน - undici (Node.js): ซ็อกเก็ตที่ว่างจะเปิดค้างไว้ 4 วินาทีโดยค่าเริ่มต้น (
keepAliveTimeout) นานกว่านั้นหากเซิร์ฟเวอร์ส่งสัญญาณ keep-alive
กับ sticky session สิ่งนี้ไม่สำคัญ: id คง IP ไว้แม้บนการเชื่อมต่อใหม่ แต่กับ username แบบหมุนเวียนมันสำคัญ คำขอที่ส่งผ่านการเชื่อมต่อที่เปิดอยู่หนึ่งครั้งใช้ exit เดียวกัน หากต้องการ IP ใหม่ทุกคำขอ ให้ปิดการเชื่อมต่อหรือเปิดไคลเอนต์ใหม่ทุกครั้ง
# pip install requests
from urllib.parse import quote
import requests
HOST = "gw.eurocityproxies.com"
PORT = 7777
PASSWORD = quote("PASSWORD", safe="")
def session_for(country: str, city: str, task: str, ttl: int = 10) -> requests.Session:
user = f"USERNAME-country-{country}-city-{city}-session-{task}-ttl-{ttl}"
proxy = f"http://{user}:{PASSWORD}@{HOST}:{PORT}"
s = requests.Session()
s.trust_env = False # ignore HTTP_PROXY / HTTPS_PROXY set on your machine
s.proxies = {"http": proxy, "https": proxy}
return s
def exit_ip(s: requests.Session) -> str:
return s.get("https://ipinfo.io/json", timeout=30).json()["ip"]
tasks = [("fr", "lyon", "lyon1"), ("pl", "krakow", "krk1"), ("nl", "the_hague", "hag1")]
for country, city, task in tasks:
with session_for(country, city, task) as s:
start = exit_ip(s)
page = s.get("https://YOUR-SITE.example/", timeout=30)
end = exit_ip(s)
note = "same exit" if start == end else "exit changed: repeat once with a new id"
print(city, start, page.status_code, note)เซสชันหลบเลี่ยง rate limit ของไซต์ได้ไหม?
ไม่ได้ เซสชันและการหมุนเวียนเลือกว่าคำขอของคุณมาจากที่ใด พวกมันไม่เปลี่ยนสิ่งที่ไซต์อนุญาต ให้รันหนึ่งเซสชันต่อเมืองและต่อรอบ ในอัตราที่พอเหมาะ การหมุนเวียนไม่ใช่วิธีหลบเลี่ยง rate limit ของไซต์
หากหน้าใดล้มเหลว ให้รอแล้วลองใหม่หนึ่งครั้งในภายหลัง หากไซต์ยังปฏิเสธ ให้หยุดและใช้ช่องทางทางการของไซต์ เช่น API หรือพาร์ตเนอร์ด้านข้อมูล นโยบายการใช้งานที่ยอมรับได้ ระบุสิ่งที่ห้ามใช้บริการ
sticky session ใช้ทราฟฟิกเท่าไร?
เซสชันไม่มีค่าใช้จ่ายในตัวเอง: คุณจ่ายเฉพาะข้อมูลที่ส่งและรับเท่านั้น การใช้งานจะนับข้อมูลทั้งหมดที่ส่งและรับผ่านพร็อกซี (อัปโหลดและดาวน์โหลด รวมถึงเฮดเดอร์) 1 GB = 1,000,000,000 ไบต์ ความพยายามเชื่อมต่อที่ล้มเหลวก่อนถึงเป้าหมายจะไม่ถูกนับ การตรวจเมืองสั้น ๆ ด้วยหนึ่งหน้าและการค้นหา IP สองครั้งมักใช้ไม่กี่เมกะไบต์หรือน้อยกว่า ขึ้นอยู่กับหน้า
ทราฟฟิกใช้ร่วมกันในทุกเมืองและทุกเซสชันของบัญชีคุณ ทราฟฟิกพร็อกซีเรซิเดนเชียลแบบเติมเงินล่วงหน้าและมือถือแบบหมุนเวียนไม่มีวันหมดอายุ: GB ที่ยังไม่ได้ใช้จะคงอยู่ในบัญชีของคุณจนกว่าคุณจะใช้งาน แพ็กเกจเริ่มที่ US$0.95 สำหรับ 1 GB บน หน้าราคา
sticky session: คำถาม
sticky session ที่นานที่สุดคือเท่าไร?
สามสิบนาที ตั้ง -ttl-30 ใน username IP ยังอาจเปลี่ยนเร็วกว่านั้นได้หากอุปกรณ์ที่บ้านที่อยู่เบื้องหลังออฟไลน์ อ่าน exit IP ตอนเริ่มและตอนจบของแต่ละงาน
จะได้ IP ใหม่ในเมืองเดิมได้อย่างไร?
เปลี่ยน session id เช่นจาก lyon1 เป็น lyon2 และคงส่วนที่เหลือของ username ไว้ หากใช้ username แบบหมุนเวียน ให้เปิดการเชื่อมต่อใหม่แทน
สคริปต์สองตัวใช้เซสชันเดียวร่วมกันได้ไหม?
เซสชันถูกระบุด้วย username, id และ ttl ดังนั้นสคริปต์สองตัวที่ส่งค่าเดียวกันเป๊ะจะขอ sticky session เดียวกัน ตรวจสอบ exit IP ในแต่ละสคริปต์ก่อนจะพึ่งพามัน และใช้ id แยกกันสำหรับงานที่แยกกัน
sticky session คงเมืองเดิมไว้ไหม?
ใช่ เมืองเป็นส่วนหนึ่งของ username และเซสชันคง exit IP หนึ่งตัวจากการกำหนดเป้าหมายของเมืองนั้น ความพร้อมใช้งานของเมืองแตกต่างกันไป หน้าราคาแสดงว่าอะไรออนไลน์อยู่
ทำไม IP ของฉันเปลี่ยนหลังสองนาทีทั้งที่ใช้ ttl-10?
การเชื่อมต่อที่บ้านออฟไลน์: เราเตอร์รีสตาร์ท อุปกรณ์หลับ หรือผู้ให้บริการกำหนดที่อยู่ใหม่ เซสชันจึงได้ exit ใหม่ ให้ทำงานนั้นซ้ำหนึ่งครั้งด้วย id ใหม่ หากเกิดขึ้นกับทุกงาน ให้เขียนถึงฝ่ายสนับสนุนพร้อมระบุเวลาและ IP
sticky session แพงกว่าแบบหมุนเวียนไหม?
ไม่ ทั้งสองแบบใช้ทราฟฟิกต่อ GB เดียวกัน การกำหนดเป้าหมายตามประเทศและเมืองในทุกแพ็กเกจ; ในสหรัฐอเมริกากำหนดตามรัฐและรหัสไปรษณีย์ได้ด้วย; การกำหนดเป้าหมายตาม ASN ไม่มีค่าใช้จ่ายเพิ่มเติม ความพร้อมของเมืองอาจแตกต่างกัน
แหล่งที่มา (5)
- RFC 9112 HTTP/1.1 หมวด 9.3 Persistence — IETF (June 2022, checked 2026-10-18)
- Requests: การใช้งานขั้นสูง อ็อบเจกต์ Session และ Keep-Alive — Requests (checked 2026-10-18)
- ไคลเอนต์ undici: keepAliveTimeout (ค่าเริ่มต้น 4e3 ms) — Node.js project (checked 2026-10-18)
- HTTPX: พร็อกซี — Encode (checked 2026-10-18)
- ปลายทาง IPinfo JSON — IPinfo (checked 2026-10-18)