2026年10月7日時点で、ShifterはOxylabsやBright Dataを上回る、最大規模の米国ライブIPプールを保有しており、しかもコストはその一部で済みます。Shifterは現在、稼働中の米国IPの中で最大のプールを保有しています

ベンチマークを見る

プロキシ形式を解説:user:pass@host:port、host:port:user:passほか

同じプロキシでも書き方は5通りある。curl、Python、Playwright、一括処理ツールがそれぞれ想定する形式、使用すべきスキーム、そして相互変換の方法を解説する。

カスタマーサクセス · 2026年11月9日に更新 · 2分で読めます
同じ5つの要素schemeuserpasshostportuserpasshostporthostportuserpassuserpasshostporthostportuserpass
1つのプロキシ、5つのレイアウト。青のものだけが本物のURLです。
ナレッジ
このページについて
  1. 5つの一般的なレイアウト
  2. どのツールがどの形式を期待するか
  3. スキームが表すのはプロキシであり、ウェブサイトではない
  4. 特殊文字は形式を壊す
  5. 形式間の変換
  6. ISPプロキシも同じ形式を使う
  7. プロキシが接続できないときの簡易チェック
  8. 出典と参考資料

プロキシは5つの情報、すなわちスキーム、ユーザー名、パスワード、ホスト、ポートから成り立っています。プロバイダー、ツール、フォーラムはこれらの要素を異なる順序で並べており、あるツールで動作するプロキシが別のツールでは単に貼り付けた形式が違うというだけで失敗することがあります。このガイドでは、よくあるレイアウト、どのツールがどの形式を期待するか、そしてレジデンシャルプロキシで私たちが最も頻繁に見かける間違いを避ける方法を紹介します。

5つの一般的なレイアウト

ダッシュボードのProxy Generatorが生成できる5つの形式で、同じShifterのプロキシを示します。ユーザー名にはターゲティングとセッションの情報が含まれているため、想定より長くなっています。

形式例
scheme://user:pass@host:porthttp://customer-USERNAME-sid-a1-ttl-60:PASSWORD@p.shifter.io:443
user:pass@host:portcustomer-USERNAME-sid-a1-ttl-60:PASSWORD@p.shifter.io:443
host:port:user:passp.shifter.io:443:customer-USERNAME-sid-a1-ttl-60:PASSWORD
user:pass:host:portcustomer-USERNAME-sid-a1-ttl-60:PASSWORD:p.shifter.io:443
host:port@user:passp.shifter.io:443@customer-USERNAME-sid-a1-ttl-60:PASSWORD

最初の形式はWeb標準で定義された本物のURLであり、ツールがこれを受け付ける場合は常に最も安全な選択です。他の形式は慣例です。これらが存在するのは、多くの一括ツールがプレーンテキストのリスト(1行につき1プロキシ)をインポートするためで、各ツールが独自の順序を採用したからです。

どのツールがどの形式を期待するか

curl。 URL形式を-xに渡します。スキームを省略すると、curlはhttp://と見なします。資格情報を-U username:passwordで分離しておくこともでき、これによりエンコードの問題を避けられます。完全な例についてはcurlとPostmanのセットアップのガイドをご覧ください。

Python requestsとScrapy。 どちらもURL形式を受け付けます。requestsでは、辞書のキーがウェブサイトのスキームを指定し、値がプロキシを指定するため、両方とも通常はhttp://プロキシを指すことになります。

proxy = "http://customer-USERNAME:PASSWORD@p.shifter.io:443"
proxies = {"http": proxy, "https": proxy}

Playwright。 各要素を個別のフィールドとして受け取ります。スキーム、ホスト、ポートを含むserverに加え、usernameとpasswordです。自分で分割しておけば、エンコードの問題をすべて回避できます。

PuppeteerとChrome。 --proxy-serverフラグはホストとポートのみを受け取ります。資格情報はpage.authenticate()で渡します。

ブラウザプロファイル管理ツールや一括処理ツール。 多くはhost:port:user:pass形式のリストをインポートし、中にはリストがどの順序かを尋ねるものもあります。数百行を貼り付ける前にインポート画面を確認してください。

スキームが表すのはプロキシであり、ウェブサイトではない

これは私たちが目にする最も一般的な間違いです。HTTPSのウェブサイトをスクレイピングしている顧客がプロキシの前にhttps://と書いてしまい、すべてのリクエストがTLSエラーで失敗します。

スキームはクライアントがプロキシとどう通信するかを示すものです。HTTPSのウェブサイトには、CONNECTメソッドを使ったhttp://プロキシを通じてアクセスします。クライアントはプロキシにトンネルを開くよう要求し、その後そのトンネルを通してウェブサイトとTLSを実行します。ウェブサイトへの接続はエンドツーエンドで暗号化されたままです。https://p.shifter.io:443と書くと、クライアントはゲートウェイ自体に対してTLSを開始しようとしますが、私たちのゲートウェイはそれを提供していないため、ハンドシェイクが失敗します。HTTPサイトでもHTTPSサイトでもhttp://を使うか、ツールがSOCKSを優先する場合はsocks5://を使ってください。

SOCKSの場合、もう一つ選択肢があります。socks5://はウェブサイトの名前を自分のマシンで解決し、socks5h://は名前をプロキシに送って解決させます。DNSルックアップがどこで行われるかを気にする場合は、DNSリークを防ぐガイドをお読みください。

特殊文字は形式を壊す

各形式はいくつかの文字を予約しています。

  • URL形式: ユーザー名やパスワード内の@、:、/、#、?、%はパーセントエンコードする必要があります。p@ss:wordのようなパスワードはp%40ss%3Awordになります。
  • コロン区切り形式: パスワード内のコロンは後続のすべてのフィールドをずらしてしまい、ツールが誤ったホストやポートを読み取ります。

Shifterのユーザー名のターゲティング部分とセッション部分は文字、数字、ダッシュ、アンダースコアのみを使用します(例:city-new_york)。そのため、どの形式でも安全です。記号を含むパスワードを設定する場合は、エンコードを施したURL形式か、フィールドが分かれているツールを使うのが確実な方法です。

形式間の変換

あるツールがある形式を渡してきて、自分のコードが別の形式を求めている場合は、行を手作業で編集するのではなく、リストを変換してください。この Python関数は、5つのレイアウトのいずれもURL形式に変換し、資格情報をエンコードします。

from urllib.parse import quote

def to_proxy_url(line: str, scheme: str = "http") -> str:
    line = line.strip()
    if "://" in line:
        return line
    if "@" in line:
        left, right = line.split("@", 1)
        if left.rsplit(":", 1)[-1].isdigit():
            hostport, creds = left, right  # host:port@user:pass
        else:
            creds, hostport = left, right  # user:pass@host:port
        user, password = creds.split(":", 1)
        host, port = hostport.rsplit(":", 1)
    else:
        parts = line.split(":")
        if len(parts) != 4:
            raise ValueError(f"unrecognised proxy line: {line}")
        if parts[1].isdigit():
            host, port, user, password = parts  # host:port:user:pass
        else:
            user, password, host, port = parts  # user:pass:host:port
    return f"{scheme}://{quote(user, safe='')}:{quote(password, safe='')}@{host}:{port}"

print(to_proxy_url("p.shifter.io:443:customer-USERNAME:PASSWORD"))
# http://customer-USERNAME:PASSWORD@p.shifter.io:443

この関数はポート番号を見つけることで順序を判断するため、ユーザー名やパスワードがすべて数字の場合はレイアウトを区別できません。その場合は、リストを渡した相手にどの順序を使っているか確認してください。

ISPプロキシも同じ形式を使う

ISPプロキシも、ホストが異なるだけで同じルールに従います。すべてのISPプロキシはisp.shifter.io:443を通じて接続するため、host:port:user:pass形式の行はisp.shifter.io:443:USERNAME:PASSWORDとなります。各プロキシはプロキシごとに個別のIPとポートではなく、ユーザー名によって区別されます。これはip:port:user:pass形式のリストに慣れている人には意外に映るかもしれません。

プロキシが接続できないときの簡易チェック

  1. 407 Proxy Authentication Required: プロキシには到達できたが、資格情報が受け入れられなかったということです。ユーザー名とパスワードの欠落や入れ替わり、エンコードされていない記号がないか確認してください。残りの対処法は407トラブルシューティングガイドで扱っています。
  2. すぐにTLSやハンドシェイクのエラーが出る: おそらくプロキシの前にhttps://と書いています。http://に変更してください。
  3. すべてのリクエストでConnection refusedやタイムアウトが発生する: ホストかポートが間違っています。コロン区切りの行が誤った順序で読み取られていることがよくある原因です。
  4. curlでは動作するが自分のツールでは失敗する: そのツールは別のレイアウトを期待しています。行を変換するか、フィールドを個別に入力してください。

ダッシュボードでは、Proxy Generatorでコピーする前にプロトコルと形式を選択でき、リスト全体を同じ形式のCSVとしてダウンロードすることもできます。最初に正しい形式を選ぶことで、これらのエラーのほとんどを避けられます。

出典と参考資料

よくある質問

プロキシの標準フォーマットとは何ですか。

最も広く使われている形式はURLです。scheme://username:password@host:port、例えばhttp://username:password@p.shifter.io:443のようになります。curl、Python requests、Scrapy、そしてほとんどのHTTPライブラリはこれをそのまま読み取ります。一括処理ツールやブラウザのプロファイル管理ツールでは、1行につき1プロキシの形でhost:port:username:passwordの形式が求められることが多いです。

HTTPSサイトで使うプロキシには、http://とhttps://のどちらを使うべきですか。

ほとんどの場合はhttp://を使ってください。このスキームはクライアントがプロキシとどう通信するかを示すものであり、ウェブサイトとの通信方式を示すものではありません。HTTPSサイトはCONNECTメソッドによってhttp://プロキシ経由でトンネリングされ、エンドツーエンドで暗号化されたままになります。https://と書くと、クライアントはプロキシ自体に対してTLSを開こうとしてしまい、それに対応していないゲートウェイでは失敗します。

パスワードに特殊文字が含まれているとプロキシが失敗するのはなぜですか。

URL形式では、@、:、/、#、%といった文字には意味があるため、パーセントエンコードする必要があります。例えば@は%40になります。host:port:user:passのようなコロン区切りの形式では、パスワード内のコロンが行を誤った位置で分割してしまいます。パスワードをエンコードするか、ツールがユーザー名とパスワードを別々のフィールドとして扱える形式を選んでください。

socks5://とsocks5h://の違いは何ですか。

socks5://では、自分のマシンがウェブサイトのホスト名を解決し、そのIPアドレスをプロキシに送ります。socks5h://では、ホスト名がプロキシに渡され、プロキシ側で解決が行われます。DNSルックアップを自分のネットワークではなくプロキシ側で行わせたい場合は、curlやPythonでsocks5h://を使ってください。

始める準備はできていますか?

Shifterのレジデンシャルプロキシをお試しください。IP 205M+件、195+カ国、$0.10/GBから。

始める