クイックアンサー
日本のレジデンシャルプロキシにはどう接続しますか?
HTTPおよびHTTPS用はポート7777、SOCKS5用はポート7778でgw.japanproxies.comをツールに指定し、JapanProxies のパスワードとUSERNAME-country-jpのユーザー名を使います。韓国、台湾、香港はそれぞれkr、tw、hk。30分間同じIPを使うには-session-ID-ttl-30を追加。料金プランは$2.62からで、KYC不要の暗号通貨払い可能。
接続情報
| ホスト | gw.japanproxies.com |
|---|---|
| HTTP / HTTPS ポート | 7777 |
| SOCKS5 ポート | 7778 |
| ユーザー名形式 | USERNAME-country-{cc}-city-{city}-asn-{asn}-session-{id}-ttl-{minutes} |
| 国コード | jp 日本 · kr 韓国 · tw 台湾 · hk 香港 |
| セッションID | 選択した英数字;同じIDを使うと出口がオンラインの間は同じIPを保持 |
| セッションの長さ(ttl) | 設定した時間(ttl、分単位)、最大30分まで。レジデンシャル端末がオフラインになるなどでIPが早く変更されることがあります。 |
| パスワード | ダッシュボードから |
ユーザー名に何を入れる?
| ユーザー名 | 取得できるもの |
|---|---|
USERNAME-country-jp | 日本のレジデンシャルプロキシIP;通常は接続ごとに異なるIPが割り当てられます |
USERNAME-country-jp-city-osaka | 大阪のレジデンシャルプロキシIP(都市の可用性による) |
USERNAME-country-kr-asn-4766 | KTネットワーク(ASN 4766)の韓国IP、追加料金なし |
USERNAME-country-kr-session-a1-ttl-30 | セッションa1を使い回す限り最大30分間、同じ韓国IPを保持可能 |
USERNAME-country-tw-session-b7-ttl-30 | 1つの台湾IPは最大30分間利用可能です。デバイスがオフラインになると早めに切り替わることがあります。 |
USERNAME-country-hk-session-c2-ttl-10 | 1つの香港IPは最大10分間利用可能です。 |
curlで接続テストをするには?
まず以下のコマンドを実行してください。最初の2つは出口IPとその国(HTTP、次にSOCKS5)を表示し、3つ目はスティッキーセッションで同じIPが維持されることを示します。両方で正しい国が表示されれば、どんなツールも動作します。
# HTTP proxy (also carries HTTPS through CONNECT)
curl -x http://USERNAME-country-jp:[email protected]:7777 https://ipinfo.io/json
# SOCKS5, with the hostname resolved at the exit
curl --socks5-hostname gw.japanproxies.com:7778 -U USERNAME-country-kr:PASSWORD https://ipinfo.io/json
# Sticky session: run twice, the IP stays the same
curl -x http://USERNAME-country-tw-session-test1-ttl-30:[email protected]:7777 https://ipinfo.io/ipPythonでプロキシを使うには?
requestsを使い、同じプロキシURLをhttpとhttpsに渡します。ゲートウェイがCONNECT経由でHTTPSを処理します。パスワードに@や:のような文字が含まれる場合はURLエンコードしてください。SOCKS5の場合はrequests[socks]をインストールし、DNSが出口で解決されるようにsocks5h://を使用します。
from urllib.parse import quote
import requests
GATEWAY = "gw.japanproxies.com:7777"
PASSWORD = quote("PASSWORD", safe="") # encode special characters
def proxies(user):
url = f"http://{quote(user, safe='')}:{PASSWORD}@{GATEWAY}"
return {"http": url, "https": url}
# Rotating: each new connection (one per request here) usually gets a new Japanese IP
for _ in range(3):
print(requests.get("https://ipinfo.io/ip", proxies=proxies("USERNAME-country-jp"), timeout=30).text)
# Sticky: the same Korean IP for up to 30 minutes
sticky = proxies("USERNAME-country-kr-session-kr42-ttl-30")
for _ in range(3):
print(requests.get("https://ipinfo.io/ip", proxies=sticky, timeout=30).text)import requests
proxy = "socks5h://USERNAME-country-hk:[email protected]:7778"
r = requests.get("https://ipinfo.io/json", proxies={"http": proxy, "https": proxy}, timeout=30)
print(r.json()["country"]) # HKNode.jsでプロキシを使うには?
Nodeの組み込みfetchの原動力であるundiciパッケージにはHTTPプロキシ用のProxyAgentが用意されています。npm install undiciでインストールし、エージェントをdispatcherとして渡してください。
import { ProxyAgent, fetch } from "undici";
const agent = new ProxyAgent(
"http://USERNAME-country-tw-session-tw7-ttl-30:[email protected]:7777"
);
const res = await fetch("https://ipinfo.io/json", { dispatcher: agent });
const info = await res.json();
console.log(info.ip, info.country); // TWPlaywrightやPuppeteerでプロキシを使うには?
ブラウザはサーバーと認証情報を別々に受け取ります。Playwrightではlaunch()のproxyオプションに渡し、ローカライズテスト時にコンテキストのlocaleとtimezoneIdを国に合わせて設定してください。Puppeteerでは起動時に--proxy-serverを渡し、最初のリクエスト前にpage.authenticate()を呼び出します。
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(proxy={
"server": "http://gw.japanproxies.com:7777",
"username": "USERNAME-country-jp-session-pw1-ttl-30",
"password": "PASSWORD",
})
context = browser.new_context(locale="ja-JP", timezone_id="Asia/Tokyo")
page = context.new_page()
page.goto("https://ipinfo.io/json")
print(page.inner_text("body"))
browser.close()import puppeteer from "puppeteer";
const browser = await puppeteer.launch({
args: ["--proxy-server=http://gw.japanproxies.com:7777"],
});
const page = await browser.newPage();
await page.authenticate({
username: "USERNAME-country-kr-session-pp1-ttl-30",
password: "PASSWORD",
});
await page.setExtraHTTPHeaders({ "Accept-Language": "ko-KR,ko;q=0.9" });
await page.goto("https://ipinfo.io/json");
console.log(await page.evaluate(() => document.body.innerText));
await browser.close();ブラウザや携帯でプロキシを使うには?
- Firefox: 設定 → ネットワーク設定 → 手動プロキシ設定。HTTPに
gw.japanproxies.com、ポートに7777を入力し、「HTTPSにもこのプロキシを使う」にチェック。Firefoxの認証画面でユーザー名とパスワードを入力。 - ChromeとEdge: システムのプロキシ設定を使います。認証対応のプロキシ拡張機能を使うと国切替が簡単です。
- iPhoneとiPad: 設定 → Wi-Fi → ネットワーク横の(i) → プロキシ設定 → 手動でサーバー、ポート、認証を入力。
- Android: 内蔵のWi-Fiプロキシ設定は認証を求めないため、認証対応のアプリやテストツールを使ってください。
切り替え後はIP確認ページを開いて国を確認しましょう。
よくあるエラーの意味は?
- 407 Proxy Authentication Required: ユーザー名かパスワードが間違っている、またはパスワード内の特殊文字がエンコードされていません。
- 接続タイムアウト: 7777または7778ポートへの送信をファイアウォールが遮断しているか、IP背後の回線がオフラインです。新しいセッションIDで再試行してください。
- IP確認ページで間違った国が表示される: 一部のジオロケーションデータベースがIPを誤配置しています。詳細はなぜプロキシが間違った場所を示すかをご覧ください。
- サイトが接続を拒否する: 利用規約を確認してください。銀行、政府、決済ポータル、SMTPポートはすべてのプランでブロックされています。
それでも解決しない場合は、時間、国コード、ツール名、正確なエラー内容を記載して[email protected]までメールください。メールの返信は週7日、12時間以内に対応します。
設定に関する質問
パスワードの代わりにIPホワイトリストは使えますか?
最大10個までのIPをホワイトリストに追加可能です。そのIPからの接続はパスワード不要です。ユーザー名とパスワードは全ネットワーク・全ツールで使えます。サブユーザーは専用の認証情報とトラフィック上限を持ち、APIキーはいつでも無効化可能です。
新しいIPを取得するには?
セッションなしでは新規接続ごとにプールからIPが割り当てられ、通常は異なります。リクエストごとに新IPを得たい場合は、コネクションごとに1リクエスト送信(keep-aliveオフ)してください:ブラウザ、requests.Session、undiciはコネクションを維持します。スティッキーセッション時はセッションIDを変えることでsession-a1がsession-a2に切り替わります。
複数の国を同時に使えますか?
はい。ユーザー名に異なる国コードを入れて複数接続を実行すれば、同じプランの料金で利用可能です。
APIはありますか?
あります。アカウント、チャージ、注文、使用状況のエンドポイントはAPIリファレンスで公開されており、APIキーはいつでも無効化可能です。
これらの例はテストされていますか?
コードは文法チェック済みで、各ライブラリの公式プロキシ設定に準拠しています。USERNAMEとPASSWORDを自分の認証情報に置き換えてからcurlテストを実行してください。
チームメンバーやスクリプト専用の認証情報は作れますか?
サブユーザーを作成してください。専用のユーザー名、パスワード、トラフィック上限を持ち、ご自身のプランから割り当てられます。いつでも削除可能で、APIキーも無効化可能です。
接続の準備はできましたか?
1 GBの$2.62は日本、韓国、台湾、香港のレジデンシャルプロキシで最初のテストに最適です。KYC不要、暗号通貨で支払い可能です。