HTTPプロキシとは何ですか?
HTTPプロキシはブラウザやプログラムが送信するウェブリクエストを受け取り、目的のウェブサイトに代わって転送し、その応答を返すサーバーです。目的のウェブサイトには自分のIPではなく、プロキシのIPが表示されます。
HTTPプロキシは最も広くサポートされているプロキシ方式です。OSのプロキシ設定、すべての主要ブラウザ、Python requests、Node.js、cURL、Scrapy、Seleniumなどのツールが追加パッケージなしでHTTPプロキシを受け取ります。ウェブスクレイピングとAPI呼び出しが主な作業であれば、HTTPプロキシが設定が最も簡単です。
HTTPプロキシはプログラム側の設定が最も少ない方式です。ほとんどの言語とライブラリがプロキシアドレス1つだけ受け取れば、httpとhttpsリクエストの両方を自動的にプロキシ経由にします。OS全体のプロキシ設定にもHTTPプロキシを設定できるため、複数のプログラムを一度に同じIPで送信することもできます。
HTTPプロキシでHTTPSサイトにも接続できますか?
はい。HTTPSサイトに接続する際、プログラムはプロキシにCONNECTリクエストを送信し、目的地とのトンネルを開きます。その中で暗号化された接続がそのままやり取りされます。プロキシは宛先アドレスのみを知り、ページ内容とログイン情報は見えません。
そのためHTTPプロキシという名前ですが、実際にはほとんどのHTTPSサイトとAPIにそのまま使用できます。プログラム設定ではHTTPプロキシアドレスを1つ入力するだけで、httpとhttpsリクエストの両方が同じプロキシを経由します。
| リクエスト種類 | プロキシ動作 | プロキシが見えるもの |
|---|---|---|
| http://サイト | リクエストを受けて転送 | アドレスとリクエスト内容 |
| https://サイト | CONNECTトンネル | 対象アドレスとポートのみ |
| REST API (https) | CONNECTトンネル | 対象アドレスとポートのみ |
HTTPプロキシとSOCKS5プロキシのどちらを使うべきですか?
ウェブクローラー、HTTPライブラリ、ブラウザ自動化などウェブリクエストのみ送信する作業はHTTPが最も簡単です。ウェブ以外のプログラムを接続したり、リモートDNSを使用したり、アンチディテクトブラウザがSOCKS5を推奨する場合はSOCKS5を使用します。
Socks5Proxyの全てのIPはHTTPポートとSOCKS5ポートを一緒に持っています。商品を別々に購入する必要なく、同じIPをツールごとに異なる方法で接続できます。
どちらかのポートで接続がうまくいかないツールは、もう一方のポートに変更する方法もあります。IPは同じでポートのみ異なるため、相手サイトから見れば何も変化しません。
HTTPプロキシの価格はいくらですか?
HTTP機能はすべてのプランに含まれているため、価格はIPの種類で決まります。共有データセンターの1IP月額は$0.0179、共有ISPは$0.1800、プライベートと専用は一緒に使用する人が少ない分、少し高くなります。
IP数が多いプランは最大40%割引され、12ヶ月年間支払いは30%さらに割引されます。
| IP種類 | IP1つユーザー | 1IP月額開始単価 | 帯域幅 |
|---|---|---|---|
| 共有データセンター | 最大3名 | $0.0179 | 月1TB含む |
| プライベートデータセンター | 最大2名 | $0.4680 | 無制限 |
| 専用データセンター | 1アカウント | $0.8400 | 無制限 |
| 共有ISP | 最大3名 | $0.1800 | 月250GB含む |
| プライベートISP | 最大2名 | $0.5850 | 無制限 |
| 専用ISP | 1アカウント | $1.51 | 無制限 |
HTTPプロキシはどうやって設定しますか?
プロキシ1行に含まれるIPとHTTPポート、ユーザー名、パスワードをツールのプロキシ設定に入力します。アドレス1つで記述する場合はhttp://USER:PASS@IP:HTTP_PORT形式です。自サーバーIPv4をダッシュボードに登録しIP認証を有効にすると、http://IP:HTTP_PORTだけで接続できます。
Node.jsではHTTPプロキシエージェントを設定するか、axiosのproxyオプションにホスト、ポート、認証情報を入力します。SeleniumとPlaywrightはブラウザを起動する際にプロキシサーバーのアドレスを渡し、認証が必要な場合はPlaywrightはユーザー名とパスワードをオプションとして受け取ります。ツールごとの詳細な例はガイドページにあります。
curl -x http://USER:PASS@IP:HTTP_PORT https://api.ipify.orgimport requests
proxy = "http://USER:PASS@IP:HTTP_PORT"
r = requests.get("https://api.ipify.org", proxies={"http": proxy, "https": proxy}, timeout=20)
print(r.text)yield scrapy.Request(url, meta={"proxy": "http://USER:PASS@IP:HTTP_PORT"})export HTTP_PROXY=http://USER:PASS@IP:HTTP_PORT
export HTTPS_PROXY=http://USER:PASS@IP:HTTP_PORTHTTPプロキシの認証方式は何がありますか?
1つ目はユーザー名とパスワードです。プログラムがProxy-Authorizationヘッダでアカウント情報を送信し、どこから接続しても同じ設定で使えます。ノートPC、複数サーバー、クラウド作業など接続場所が変わる環境に適しています。
2つ目はIP認証です。ダッシュボードにサーバーの公開IPv4アドレスを最大10個登録すると、そのアドレスからの接続はパスワードなしで受け付けます。パスワード入力欄がないプログラムやブラウザ自動化で便利で、設定ファイルにパスワードを残す必要がありません。
両方式を併用できます。IP認証に登録されたサーバーではパスワードなし、それ以外の場所ではユーザー名とパスワードで接続します。登録IPはダッシュボードでいつでも変更可能です。
HTTPプロキシはどのような作業に多く使われますか?
- ウェブクローリング: Scrapy、requests、axiosで公開ページを複数IPに分散して収集します。
- 価格比較: ショッピングモールの商品ページを国ごとのIPで確認します。
- 検索結果収集:国別の検索結果と順位を確認します。
- APIリクエスト分散: IPごとのリクエスト制限がある公開APIを分割して呼び出します。
- ブラウザテスト:SeleniumとPlaywrightで地域別画面をチェックします。
- 会社システムの固定出口IP:協力会社許可リストに登録するIPとして使用します。
HTTPプロキシの応答コード407や接続エラーが発生した場合、どうすればいいですか?
それでも解決しない場合は、ダッシュボードのカスタマーサポートにプロキシの行とエラー内容を残してください。
ほとんどの作業は共有データセンターで開始し、同じサイトに長時間接続したりデータ量が増えたらプライベートや専用に移行します。すべてのプランでHTTPポートが使えるので、コードを変更する必要はありません。
エラーを減らすには、リクエストごとにタイムアウトを設定し、失敗した場合は別のIPで再送信するリトライルールを追加してください。同じIPでエラーが続く場合はそのIPを一時休止し、残りのIPで作業を続行します。
- 407 Proxy Authentication Required: ユーザー名とパスワードを再度確認するか、IP認証に現在のサーバーIPが登録されているか確認してください。
- 接続拒否: SOCKS5ポートではなくHTTPポートを入力したか確認してください。
- タイムアウト: ツールの制限時間を20秒以上に延長して再試行してください。
- 対象サイトの403・429エラー:リクエスト間隔を広げて別のIPで分散送信します。
HTTPプロキシを使用するとリクエストヘッダーが変わりますか?
HTTPSサイトはCONNECTトンネル内で暗号化された状態でやり取りされるため、プロキシがリクエストヘッダーを見たり変更したりすることはできません。相手のサイトには自分のプログラムが送信したヘッダーがそのまま伝達され、接続IPだけがプロキシIPに変わります。
暗号化されていないhttp://サイトでもSocks5Proxyは元のIPを知らせるヘッダーを付けません。そのため相手サイトはプロキシ経由のリクエストかヘッダーで判別できず、プロキシIPを通常アクセスIPとして受け入れます。
User-Agent、言語、クッキーなどのヘッダーは自身のプログラムで設定して送信する必要があります。クローラーを作成する際は実際のブラウザと似たヘッダーを一緒に送信することが推奨されます。
HTTPプロキシを国別に分けて使用するにはどうすればいいですか?
ダッシュボードやAPIで国フィルターをかけてリストを取得すると、国別ファイルが作成されます。例えばアメリカの価格を確認する作業はアメリカリストのみ、ドイツの価格はドイツリストのみを読み込むようにします。
APIの/proxiesアドレスはJSONで国コードと都市を一緒に返すため、一度に全体のリストを受け取ってプログラム内で国ごとに分割して使用することもできます。新しく購入したプランのIPは同じアドレスに自動的に追加されます。
データセンターIPは複数大陸の国から、ISP IPは主要市場国から選択可能です。国別IP数と都市はリージョンページにまとめられています。
HTTPプロキシはどうやって購入しますか?
アカウントトークンで登録し、残高をチャージした後、購入画面でIPの種類、国、IP数、期間を選択します。支払いと同時にリストが発行され、HTTPポートとSOCKS5ポートを一緒に受け取ります。
最低チャージ額: $30。チャージ額に応じてボーナスが加算されます。未使用のプラン金額は残高に返金されます。