住宅用プロキシの設定ガイド:接続の方法
このガイドでは、ProxyMayのアカウント作成からgate.proxymay.com:7000ゲートウェイ経由の最初のリクエストまでを案内します。ユーザー名のルールを覚えれば、文字列を1つ書き換えるだけで国、都市、固定セッションを切り替えられます。
01
アカウントを作成してアクセストークンを保存する
登録ページでアカウントを作成すると、pm_XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX形式のアクセストークンが1つ発行されます。同じトークンでサイトにログインでき、プロキシのパスワードとしても使えます。
サーバーに保存されるのは、トークンのハッシュと末尾4文字だけです。ページを離れる前に、パスワードマネージャーなど安全な場所に保存してください。
なくしたトークンは復元できません。コードでは環境変数から読み込み、リポジトリに入らないようにしてください。
1つのIPアドレスにつき作成できるアカウントは3つまでで、ログインは10分間に10回まで試せます。
02
残高をチャージして製品を選ぶ
プロキシは残高から差し引かれるため、まずチャージしてください。1つの残高で、ローテーション住宅用プロキシ、固定ISPプロキシ、データセンタープロキシ、モバイルプロキシをまかなえます。
ローテーション住宅用の通信量は$0.80/GBから、モバイルの通信量は$4.00/GBからで、使った分だけ課金されます。たとえばローテーション住宅用に$100を使うと、$100を$0.80/GBで割った分の通信量になります。チャージ額とボーナスは料金ページをご覧ください。
03
プロキシのユーザー名を組み立てる:国、都市、セッション
ユーザー名はuserで始まり、オプションを-でつなげて追加します。パスワードは常にアクセストークンです。何も追加しなければ、国の指定なしのローテーション住宅用IPになります。
| 項目 | 意味 | 例 |
|---|---|---|
| type-mobile | 通信事業者のモバイル回線のIPを使う | user-type-mobile-country-de(ドイツのモバイルIP) |
| country-xx | 2文字の国コード | user-country-jp |
| city-name | 小文字の都市名、スペースは_ | user-country-us-city-new_york(ニューヨーク) |
| session-name | 英数字で16文字まで、同じ名前なら同じIPを維持 | user-country-jp-session-shop1(日本、セッションshop1) |
type、country、city、sessionの順に書くと読みやすくなります。user-country-jp-city-tokyo-session-shop1は、セッション名shop1で維持する東京のIPという意味です。
モバイルプロキシは国単位の指定のみなので、type-mobileを使うときはcityを入れないでください。国コードと都市一覧は対応地域ページにあります。
04
HTTPとSOCKS5の接続形式、curlでのIP確認
HTTPとSOCKS5は同じホストgate.proxymay.comとポート7000を使います。お使いのツールが受け付ける形式を、次の3つから選んでください。
http://user-country-jp:[email protected]:7000
socks5://user-country-jp:[email protected]:7000
gate.proxymay.com:7000:user-country-jp:YOUR_TOKENダッシュボードでも同じ文字列が作られ、コピーできます。最初の2行はURL形式で、最後の行は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/jsonsocks5hを使うと、DNSの名前解決もプロキシを経由します。
05
Python requestsとScrapyでプロキシを使う
requestsでは、proxies辞書のhttpとhttpsに同じURLを入れます。この例では、セッション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を使う場合は、同じURLを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を追加すると、最長120分同じIPを維持できます。
- 作業ごとに別のセッション名を付けてください(例:cart1、cart2)。
- IPを切り替えるには、セッション名を変えるだけです。
- 1か月ずっと同じIPが必要なら、固定ISPプロキシの方が適しています。
09
プロキシ接続エラーの解決方法
- 407 Proxy Authentication Required:ユーザー名の形式かトークンが間違っています。userで始まっているか、項目が-で区切られているか、トークンに余分なスペースがないかを確認してください。
- 接続拒否またはタイムアウト:ホストgate.proxymay.comとポート7000を確認し直し、ファイアウォールがそのポートへの外向きの接続をブロックしていないか確かめてください。残高が残っているかも確認してください。
- 違う国が表示される:国コードが2文字か、都市が小文字で_を使っているかを確認してください。まずcurlチェックを実行し、その後コード内のキャッシュや別のプロキシ設定を探してください。
- 120分後にセッションが変わった:固定セッションは最長120分なので、これは想定どおりの動作です。その時間内に収まるよう作業を分けるか、新しいセッション名でやり直してください。
その他の回答はよくある質問にまとめています。
10
プロキシを責任を持って使う
ProxyMayは、公開データの収集、広告確認、SEO順位チェック、価格モニタリング、Webサイトとローカライズのテスト、自分のアカウント運用に使ってください。他人のアカウントへの不正アクセス、スパム、詐欺、攻撃、違法コンテンツ、その他法律や対象サイトの権利に反する行為は禁止です。
リクエストのペースを調整し、各サイトのルールを守ることで、作業も順調に進みます。ルールの全文は利用規約にあります。
関連ページ
- ローテーション住宅用プロキシローテーション住宅用プロキシは、ISPが一般家庭に割り当てたIPを経由してリクエストを送ります。リクエストごとに別のIPから送信できるため、大量の照会が多くのアドレスと地域に均等に分散されます。
- 対応地域ProxyMayは60か国、175都市のIPを提供しています。このページでは、ユーザー名での地域の指定方法、都市単位まで指定すべき場面、各地域に含まれる国を説明します。
- 料金ProxyMayの4つの製品はすべて同じ残高から差し引かれます。課金の仕組み、よくある作業の費用、チャージボーナスの仕組み、支払い方法を以下で説明します。
- ヘルプアカウント、接続、製品、チャージ、利用ルールに関する質問と回答をテーマ別にまとめました。初めて接続する場合は、まず設定ガイドに従ってください。