會話控制(Session Control)允許您在多次請求之間保持同一個 IP 地址,這對於需要保持登入狀態或完成多步操作的任務至關重要。
1. 什麼是會話控制?
默認情況下,動態代理可能會在每次請求時分配不同的 IP 地址。通過使用會話控制,您可以指定一個會話 ID,系統將確保使用該會話 ID 的所有請求都通過同一個 IP 地址進行路由,直到該 IP 不再可用或會話過期。
2. 如何使用會話控制
方法 1: 在用户名中新增 Session ID
最常用的方法是在代理用户名中附加一個自定義的 session 引數。您可以生成任何隨機字串作為 session ID。
# 格式: username-session-{your_session_id}:password@proxy_address:port
curl -x http://username-session-rand123456:password@proxy.kooproxy.com:8080 http://ipinfo.io/json
方法 2: 通過 HTTP Header 設定
您也可以通過傳送特定的 HTTP Header 來保持會話:
curl -x http://username:password@proxy.kooproxy.com:8080 \
-H "X-Proxy-Session: rand123456" \
http://ipinfo.io/json
3. 會話過期與重新分配
注意:動態移動代理的 IP 地址是由真實移動裝置提供的,可能會因為裝置離線或網絡切換而不可用。噹噹前會話的 IP 斷開連線時,系統會自動為該會話 ID 分配一個新的可用 IP。
4. 程式碼示例
Python 示例:
import requests
import random
import string
# 生成隨機 Session ID
session_id = ''.join(random.choices(string.ascii_lowercase + string.digits, k=10))
# 構建代理 URL
proxy = f"http://username-session-{session_id}:password@proxy.kooproxy.com:8080"
proxies = {
'http': proxy,
'https': proxy
}
# 傳送多個請求,它們將使用相同的 IP
for i in range(3):
response = requests.get('http://ipinfo.io/json', proxies=proxies)
print(f"請求 {i+1} 的 IP:", response.json().get('ip'))