代理設定指南:如何連接住宅代理

本指南帶你由新建立的ProxyMay帳戶,到經 gate.proxymay.com:7000 閘道發出第一個請求。了解用戶名稱規則後,只需修改一個字串,就可以轉換國家、城市及固定連線階段。

01

建立帳戶並保存存取令牌

在註冊頁面建立帳戶,你會收到一個格式為 pm_XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX 的存取令牌。同一個令牌既用於登入網站,亦是你的代理密碼。

伺服器只保存令牌的雜湊值及最後4個字元。離開頁面前,請將令牌保存在密碼管理工具或其他安全的地方。

令牌遺失後無法取回。在程式碼內請由環境變數讀取令牌,避免令牌出現在儲存庫內。

每個IP地址最多可建立3個帳戶,登入每10分鐘可嘗試10次。

02

為餘額增值並揀選產品

代理從你的餘額扣款,所以請先增值。一個餘額可用於動態住宅代理、靜態ISP代理、數據中心代理及流動代理。

動態住宅流量$0.80/GB起,流動流量$4.00/GB起,按實際用量收費。例如在動態住宅花費$100,可得的流量為$100除以$0.80/GB。增值金額及贈送請看收費頁面。

03

組合代理用戶名稱:國家、城市及連線階段

用戶名稱以 user 開頭,再以 - 連接可選部分。密碼永遠是你的存取令牌。如果不加任何部分,你會取得不指定國家的動態住宅IP。

部分意思例子
type-mobile使用電訊商流動網絡上的IP例:user-type-mobile-country-de
country-xx兩個字母的國家代碼user-country-jp
city-name城市用小寫,空格用 _例:user-country-us-city-new_york
session-name字母及數字,最多16個;同一名稱保持同一IP例:user-country-jp-session-shop1

按類型、國家、城市、連線階段的次序書寫,會較容易閱讀。user-country-jp-city-tokyo-session-shop1 即是以連線階段名稱shop1保持的東京IP。

流動代理只可按國家指定,所以使用 type-mobile 時請不要加入城市。國家代碼及城市列表請看覆蓋地區頁面。

04

HTTP及SOCKS5連線格式,以及curl IP檢查

HTTP及SOCKS5共用同一主機 gate.proxymay.com 及連接埠 7000。請從以下三種格式中揀選你的工具接受的一種。

http://user-country-jp:[email protected]:7000
socks5://user-country-jp:[email protected]:7000
gate.proxymay.com:7000:user-country-jp:YOUR_TOKEN

控制台會為你產生相同的字串供複製。首兩行是網址格式;最後一行適用於要求host:port:user:password的工具。

撰寫程式碼前,先在終端機測試,可以很快找出問題所在。請檢查回應中的ip、country及city是否與你的用戶名稱相符。

curl -x http://user-country-us:[email protected]:7000 https://ipinfo.io/json

# Same check over SOCKS5
curl -x socks5h://user-country-us:[email protected]:7000 https://ipinfo.io/json

使用socks5h時,DNS查詢亦會經過代理。

05

在Python requests及Scrapy中使用代理

在requests中,請在proxies字典的http及https下放入同一網址。這個例子以連線階段shop1保持日本IP。

import requests

proxy = "http://user-country-jp-session-shop1:[email protected]:7000"
proxies = {"http": proxy, "https": proxy}

r = requests.get("https://ipinfo.io/json", proxies=proxies, timeout=30)
print(r.status_code, r.json())

使用SOCKS5時,請執行 pip install requests[socks],並將通訊協定改為socks5h://。

在Scrapy中,於請求的meta設定proxy,內建中介軟件就會處理驗證。如果想每頁使用不同IP,請為每個請求設定各自的連線階段名稱。

import scrapy

class IpSpider(scrapy.Spider):
    name = "ipcheck"

    def start_requests(self):
        proxy = "http://user-country-gb:[email protected]:7000"
        yield scrapy.Request("https://ipinfo.io/json", meta={"proxy": proxy})

    def parse(self, response):
        yield response.json()

06

Node.js代理例子

在Node.js 18或以上版本,將undici的ProxyAgent作為fetch的dispatcher傳入。如果使用axios,請將同一網址交給https-proxy-agent套件。

// npm install undici
import { ProxyAgent, fetch } from "undici";

const agent = new ProxyAgent("http://user-country-de:[email protected]:7000");
const res = await fetch("https://ipinfo.io/json", { dispatcher: agent });
console.log(await res.json());

07

Playwright及Puppeteer瀏覽器代理設定

瀏覽器自動化工具會分開接收伺服器及登入資料。請將指定部分放在用戶名稱,令牌放在密碼。

// Playwright
const { chromium } = require("playwright");

const browser = await chromium.launch({
  proxy: {
    server: "http://gate.proxymay.com:7000",
    username: "user-country-fr-city-paris-session-web1",
    password: "YOUR_TOKEN",
  },
});
const page = await browser.newPage();
await page.goto("https://ipinfo.io/json");

// Puppeteer
const browser2 = await puppeteer.launch({ args: ["--proxy-server=http://gate.proxymay.com:7000"] });
const page2 = await browser2.newPage();
await page2.authenticate({ username: "user-country-fr", password: "YOUR_TOKEN" });

需要保持登入的工作,請加上連線階段名稱,讓每個頁面都由同一IP開啟。

08

何時應輪換IP,何時應使用固定連線階段?

沒有連線階段部分時,每個請求都會取得新IP。這適合排名查詢或價格收集等互相獨立的請求。

登入、購物車及多步驟流程可能在IP改變時中斷。請加上 session-name,將同一IP保持最長120分鐘。

  • 每項工作用各自的連線階段名稱(例如cart1、cart2)。
  • 要轉換IP,只需更改連線階段名稱。
  • 如果需要整個月使用同一IP,靜態ISP代理會更合適。

09

解決代理連線錯誤

  • 407 Proxy Authentication Required:用戶名稱格式或令牌錯誤。請檢查是否以user開頭、各部分是否以 - 分隔,以及令牌有沒有多餘空格。
  • 連線被拒絕或逾時:請再檢查主機 gate.proxymay.com 及連接埠 7000,並確認防火牆沒有封鎖連往該連接埠的對外連線。亦請確認你仍有餘額。
  • 顯示錯誤的國家:請檢查國家代碼是否兩個字母,以及城市是否小寫並使用 _。先執行curl檢查,再查看程式碼內有沒有快取或其他代理設定。
  • 連線階段在120分鐘後改變:這是正常的,因為固定連線階段最長為120分鐘。請將工作分拆以配合這段時間,或以新的連線階段名稱重新開始。

更多解答已整理在常見問題。

10

負責任地使用代理

請將ProxyMay用於收集公開數據、廣告驗證、SEO排名查詢、價格監察、網站及本地化測試,以及管理自己的帳戶。禁止未經授權登入他人帳戶、垃圾訊息、詐騙、攻擊、非法內容,以及任何違法或侵犯目標網站權利的行為。

控制請求節奏並尊重各網站的規則,亦能讓你的工作順利運作。完整規則請看服務條款。

相關頁面

立即註冊
馬上連接到你需要的國家IP

註冊只需要一個令牌。$20起增值,即時可用。