代理輪換策略必須跟隨「一個完整任務」的邊界。依賴 Cookie、購物車或固定地區的多步驟流程,通常需要在整段流程保持同一網路身分;彼此無關的公開頁面任務,才適合為每項任務配置新的合格出口。混用兩種模式會造成登入失效、地區內容不一致及基準資料失真。

本指南不假設任何供應商的憑證格式,適用於經授權的在地化測試、廣告驗證、市場研究及公開網頁資料蒐集。
什麼是黏著代理工作階段
黏著工作階段要求代理服務在限定時間內,或直到工作階段結束前,盡量讓一個邏輯工作階段保持相同出口身分。應用程式可透過此出口傳送多個請求,同時維持同一 Cookie 容器、地區及帳戶狀態。
「黏著」不代表永久不變。出口可能無法使用,產品可能限制最長時間,路由條件也會改變。正式環境必須偵測非預期換 IP,並判斷是否重啟整個流程,而不是悄悄拼接兩個身分。
什麼是輪換工作階段
輪換策略允許在建立新任務、連線或工作階段時配置新的合格出口。實際輪換可能依請求、連線或產品規則發生。不要假設每次請求都有全球唯一 IP,應用真實產品設定驗證。
輪換最適合彼此獨立的任務。每個任務都應有自己的逾時、結果紀錄與重試上限,一個身分的 Cookie 或驗證狀態不可洩漏至另一個身分。
選擇矩陣
| 工作流程 | 建議起點 | 原因 |
|---|---|---|
| 登入、購物車、多頁表單 | 黏著 | 應用狀態和網路身分保持一致 |
| 區域商店品質測試 | 每區域獨立黏著工作階段 | 語言、貨幣及後續 API 可比較 |
| 彼此無關的公開產品頁 | 依任務輪換 | 每頁可獨立測量且不共享狀態 |
| 廣告驗證旅程 | 整段旅程保持黏著 | 重新導向和落地頁應代表同一訪客 |
| 大型目錄更新檢查 | 受控輪換 | 可分配獨立項目並遵守速率限制 |
| 已登入帳戶操作 | 穩定且獲批准的身分 | 異常換 IP 可能觸發安全控制 |
明確管理工作階段狀態
const session = {
key: process.env.PROXY_SESSION_KEY,
gateway: process.env.PROXY_SERVER,
region: process.env.PROXY_REGION,
startedAt: Date.now(),
maxDurationMs: 10 * 60 * 1000,
cookieJarId: crypto.randomUUID()
};
// 同一黏著工作階段持續綁定同一 Cookie 容器。
// 獨立輪換任務應建立新的狀態物件。工作階段金鑰、閘道及憑證只能由受保護的執行階段祕密注入。日誌只保存金鑰的單向雜湊,不能保存祕密本身。每個工作者都要知道開始時間、目標區域、Cookie 容器及最大持續時間。
擴大規模前必做的五項測試
1. 工作階段內穩定性
透過同一工作階段傳送短序列,確認出口、國家、ASN 和頁面地區一致,同時記錄網路身分及業務結果。
2. 工作階段之間的分離
建立多個獨立工作階段,測量出口身分變化頻率。目標不是不實際的「每次全球唯一」,而是證明輪換策略符合產品說明。
3. Cookie 連續性
每個黏著工作階段使用獨立 BrowserContext 或 Cookie 容器,確認無害偏好或授權測試工作階段可跨步驟保留。RFC 6265 說明 Cookie 與 Set-Cookie 如何讓 HTTP 維持狀態。
4. 區域一致性
同時檢查 IP 地區、頁面語言、貨幣、時區相關內容與後續 API。IP 位於目標國家仍不足夠,舊 Cookie 或帳戶偏好也會影響內容。
5. 到期與恢復
讓工作階段達到邊界或模擬出口無法使用,確認流程可安全停止、建立新工作階段並從安全檢查點重啟。結帳或登入流程遇到無法解釋的身分變化時,不應繼續。
重試必須維持原定策略
黏著流程的暫時性重試通常應保留同一金鑰和 Cookie 容器。如果身分已無法使用,應以全新狀態重啟完整旅程。獨立輪換任務的重試可使用新工作階段,但必須記錄為新的嘗試,以免灌水成功率。
不要把固定重現的 401、403 或業務驗證失敗當成網路錯誤反覆重試。出現 407 時檢查代理憑證及產品設定;出現 429 時降低並行並遵守目標的重試提示。
並行與速率控制
應依目標、區域和邏輯工作階段限制並行。大量工作者共用一個黏著身分,會產生不真實行為和資源爭用。每個工作階段只承載一段活動旅程,或少量明確相容的請求。
使用帶任務 ID 的佇列。工作者取得工作階段、完成或失敗一項任務、記錄證據並釋放資源,才能計算成本、重試率與可用結果率。
能驗證選擇是否正確的指標
- 依策略與區域統計的可用結果率;
- 工作階段完成率及非預期換 IP 率;
- 每項完整任務的 p50/p95 耗時;
- 挑戰、407、429 及逾時率;
- 每個可用結果的重試次數與成本;
- 地區、語言及貨幣準確率。
較高的原始請求成功率不一定更好。能載入頁面卻破壞購物車的輪換測試仍然失敗;可維持狀態但區域覆蓋不足的黏著測試,也不適合獨立蒐集。
常見故障
- Cookie 跟著新出口繼續使用:應用狀態與網路身分沒有一起隔離。
- 旅程中途換 IP:工作階段到期或出口無法繼續保持。
- 所有工作者共用一個身分:錯誤重複使用工作階段金鑰。
- 輪換看似無效:連線池或工作階段識別碼仍被重複使用。
- 地區不一致:IP、瀏覽器語言、時區、Cookie 及帳戶設定衝突。
- 請求指標很好但訂單失敗:只統計 HTTP 回應,沒有統計業務完成。
上線檢查清單
- 先定義任務邊界,再決定是否輪換。
- 代理工作階段與 Cookie 容器位於同一隔離邊界。
- 設定最大持續時間與安全重啟點。
- 日誌雜湊識別資訊並移除憑證。
- 依目標與區域限制並行。
- 區分網路重試與業務失敗。
- 統計業務完成,不只查看狀態碼。
- 只存取獲授權目標並遵守條款與速率限制。
選擇合適的 98IP 產品
需要受控改變網路身分的任務,可評估 98IP 動態住宅代理;需要較長時間保持區域身分時,可比較 98IP 靜態住宅代理。擴大規模前應使用真實業務旅程測試。
98IP 提供上述代理服務,本文由 98IP 團隊發布。代理存取不會取代授權、隱私義務、目標條款或技術速率限制。
常見問題
黏著是否代表 IP 永不改變?
不是。應把黏著視為有邊界的服務行為,並為出口遺失或到期設計安全恢復。
是否應該每次請求都更換 IP?
只有在請求真正獨立且產品支援該輪換模式時才適合。具狀態的旅程通常不應如此。
輪換後還能重複使用 Cookie 嗎?
技術上可行,但可能產生身分與隱私訊號衝突。只有授權測試明確需要時,才應有意識地移轉狀態。
資料說明
本文核對了 RFC 6265 與 Playwright 的 BrowserContext、Isolation 及 APIRequestContext 官方文件,查閱日期為 2026 年 8 月 16 日。依 98IP 零外鏈規則,僅以純文字記錄資料名稱與日期。