ガイド
cURL、Python、Node.jsでHTTP・SOCKS5プロキシを使う方法
IPronix · 更新日
IPronixのプロキシはすべて、ユーザー名とパスワードによる認証を使用します。レジデンシャル、モバイル、データセンターのゲートウェイにはHTTPポートとSOCKS5ポートがあります。静的ISPのIPはHTTPとSOCKS5のどちらか一方で動作します(注文ページで切り替えられ、IPとポートは変わりません)。静的ISPプロキシはマイプロキシに一覧表示されます。レジデンシャル、モバイル、データセンターのトラフィックはゲートウェイホストを経由し、地域指定(国、地域、都市、セッション)は認証情報、またはダッシュボードで作成するエンドポイントリストに組み込まれます。以下の例ではドキュメント用アドレス203.0.113.10と仮の認証情報を使用しています。ご自身のものに置き換えてください。
1. プロキシURLを作成する
ほとんどのツールは、スキーム、認証情報、ホスト、ポートからなる1つのプロキシURLを受け付けます。HTTPポートにはhttp://を、SOCKS5ポートにはsocks5h://を使用してください(トラフィックゲートウェイではポートが異なります。静的ISPのIPでは、先にプロトコルを切り替えてから同じポートを使用します)。socks5hのhは、DNSをプロキシ側で解決することを意味します。そのため、接続先のホスト名がローカルのリゾルバーに漏れることはありません。
http://USER:PASS@203.0.113.10:8000
socks5h://USER:PASS@203.0.113.10:8001パスワードに@、:、/などの文字が含まれている場合は、先にURLエンコードしてください(JavaScriptではencodeURIComponent、Pythonではurllib.parse.quote)。
2. cURL
# HTTP proxy
curl -x http://USER:PASS@203.0.113.10:8000 https://api.ipify.org?format=json
# SOCKS5 proxy (DNS resolved by the proxy)
curl -x socks5h://USER:PASS@203.0.113.10:8001 https://api.ipify.org?format=jsonレスポンスには、Webサイトから見えるIPアドレスが表示されます。ご自身のIPではなく、プロキシのIPになっているはずです。
3. Python(requests)
import requests
proxy = "http://USER:PASS@203.0.113.10:8000"
proxies = {"http": proxy, "https": proxy}
r = requests.get("https://api.ipify.org?format=json", proxies=proxies, timeout=30)
print(r.json())SOCKS5の場合は、SOCKS用の追加パッケージをインストールし、スキームを変更します:
# pip install "requests[socks]"
proxy = "socks5h://USER:PASS@203.0.113.10:8001"
proxies = {"http": proxy, "https": proxy}4. Node.js(axios)
import axios from "axios";
import { HttpsProxyAgent } from "https-proxy-agent";
const agent = new HttpsProxyAgent("http://USER:PASS@203.0.113.10:8000");
const { data } = await axios.get("https://api.ipify.org?format=json", {
httpsAgent: agent,
proxy: false, // let the agent handle the proxy
});
console.log(data);SOCKS5の場合は、代わりにsocks-proxy-agentを使用します:
import { SocksProxyAgent } from "socks-proxy-agent";
const agent = new SocksProxyAgent("socks5h://USER:PASS@203.0.113.10:8001");
const { data } = await axios.get("https://api.ipify.org?format=json", {
httpAgent: agent,
httpsAgent: agent,
proxy: false,
});5. よくあるエラーの対処法
- 407 Proxy Authentication Required:ユーザー名またはパスワードが間違っているか、パスワード内の特殊文字がURLエンコードされていません。
- 接続がすぐに拒否またはリセットされる:ポートとプロトコルが一致していません。たとえば、SOCKS5のURLがHTTPポートを指している場合です。使用するプロトコルのポートをコピーしてください。
- トラフィック製品で407が返される:キーの後ろの地域指定部分を含め、パスワード全体がコピーされているか確認してください。対応していない国、地域、都市は拒否されます。
- トラフィックのリクエストが機能しなくなった:パッケージを使い切った可能性があります。ダッシュボードで残りのトラフィックを確認し、追加購入してください。
- 静的ISPのIPが準備中と表示される:まだ割り当て中です。準備ができると注文に表示されます。
静的ISPプロキシでは、注文ページのPingボタンで、プロキシが応答するかどうかとレイテンシを確認することもできます。