Proxyポート
ブラウザ、ダウンロードツール、既存のスクレイパーなど、proxy URLを受け付ける任意のクライアントからFourAの出口経由で独自のトラフィックを送信します。proxyポートは指定されたターゲットへのトンネルを開き、双方向にバイトをコピーするため、JSON APIでは扱えないストリーム、大容量ダウンロード、ブラウザセッション全体を処理できます。
ベータ版: proxyポートはベータ版です。経由するトラフィックは現在課金されず、モニタリングや稼働率保証(SLA)の対象外であり、オプション名は変更される可能性があります。問題が発生した場合はフィードバックをお送りください。
接続
| 設定項目 | 値 |
|---|---|
| ホスト | proxy.foura.ai |
| ポート | 34004 |
| プロトコル | HTTP CONNECT(Basic認証) |
| ターゲットポート | 443 および 80 |
認証情報はダッシュボードから取得します。サイドバーの Proxy でproxyユーザーを作成すると、生成されたユーザー名とパスワードが発行されます。これらは意図的にAPIキーとは分離されています。proxyハンドシェイクは接続ごとに平文で送信されるためであり、API連携に影響を与えずにproxyユーザーをローテーションできるようにするためです。詳細はProxy Usersを参照してください。
curl -x http://USERNAME:PASSWORD@proxy.foura.ai:34004 https://example.com
import requests
proxy = "http://USERNAME:PASSWORD@proxy.foura.ai:34004"
r = requests.get("https://example.com", proxies={"https": proxy, "http": proxy})
print(r.status_code)
このポートは CONNECT のみをサポートします。https:// ターゲットはすべてのクライアントによってトンネリングされます。プレーンな http:// ターゲットは、クライアントが同様にトンネリングする場合に機能します (curl: --proxytunnel)。プレーンなリクエストをプロキシに直接転送するクライアントは、代わりに 405 Method Not Allowed を受け取ります。
オプションは Username 内に含める
認証情報の後の部分はすべて、任意の順序の -key-value ペアのリストです:
USERNAME-network-residential-country-de-session-a1
値は小文字の単語です。値の中にダッシュを含めると新しいオプションの開始とみなされるため、-city-new-york は2つのオプションとして解釈され拒絶されます。不明なキーも無視されず拒絶されます。スペルミスのあった -contry-de は、誤った国から配信されるのではなく、サポート対象のキー名を提示する400エラーとして返されます。
| オプション | 値 | 機能 |
|---|---|---|
network |
shared (デフォルト、エイリアス pool)、residential |
アドレスの取得元ネットワーク。Shared はプランに含まれる FourA 独自のイグジットです。Residential は住宅用アドレスで、プランに含まれるプレミアムトラフィックおよび購入分から消費されます。 |
fallback |
residential、off |
Shared ネットワーク専用。Shared ネットワークでリクエストを処理できない場合に Residential イグジットを利用します。明示的に要求しない限り無効であり、プランにプレミアムトラフィックが含まれ残量がある場合のみ発動します。 |
country |
ISO 3166-1 alpha-2、複数指定可 | ターゲットから認識されるイグジット国。複数国スコープにするには繰り返して指定します: -country-de-country-fr。 |
session |
1〜32文字の英字、数字、またはアンダースコア | 同じ名前を共有する接続は同一アドレスを共有します (sticky)。接続ごとに新しいアドレスを使用する場合は省略します (rotating)。 |
state |
単語 | 地域 (Region)。Residential 専用。 |
city |
単語 | 都市 (City)。Residential 専用。 |
asn |
数値 | AS番号によるネットワーク。Residential 専用。 |
os |
windows、android、ios、mac |
アドレスが属するデバイスの種類。Residential 専用。 |
lifetime |
3 から 1440 |
sticky な Residential アドレスが保持される分数。Residential 専用。 |
network、fallback、session を除くすべてのオプションは any を受け付け、この接続に限り proxy ユーザーに保存された値をクリアします。
以下の3つの組み合わせは、一部のみを適用するのではなく400エラーで拒絶されます:
- Shared ネットワークでの
state、city、asn、os、またはlifetimeの指定。Shared ネットワークは国単位でのみ選択可能です。都市をターゲットにするには-network-residentialを追加してください。 -fallback-residentialと-network-residentialの同時指定。フォールバック先ネットワーク上ではフォールバックの機能は不要です。- フォールバックが有効な状態での詳細なターゲティング。フォールバックは発動する場合としない場合があるため、状況によってのみ満たせる都市指定などは拒絶されます。
セッション
Shared ネットワークでは、名前付きセッションを使用すると、10分間のスライディングウィンドウで使用し続ける限り同一のイグジットが維持されます。そのイグジットが停止した場合、失敗するのではなく別のイグジットへ移動します。ポート経由でブラウザを操作する場合は常にセッション名を指定してください。ページ読み込みでは多数の接続が発生するため、セッションがないと接続ごとに異なるアドレスから送信されます。
Residential ネットワークでは、名前付きセッションはアドレスを lifetime 分間保持するか、未設定時はネットワークのデフォルト値に従います。
保存されたデフォルト値
ダッシュボードで proxy ユーザーに保存されたターゲティング設定は、そのユーザーによるすべての接続に適用されるため、ユーザー名を短縮したまま維持できます。ユーザー名に指定した設定はその接続において最優先され、any を指定すると保存された設定を解除してデフォルトに戻します。保存された residential デフォルト設定は、プランで許可されている場合にのみ消費されます。それ以外の場合、接続は共有ネットワークから提供されます。
CONNECT ヘッダー
CONNECT request にヘッダーを追加できるクライアントは、同じオプションをヘッダーとして送信できます。同一のオプションが指定された場合、ユーザー名内の値よりもヘッダーが優先されます。
| ヘッダー | 同等の指定 |
|---|---|
X-Foura-Network |
-network- |
X-Foura-Fallback |
-fallback- (residential または off) |
X-Foura-Country |
-country-(複数の場合はカンマ区切り) |
X-Foura-Session |
-session- |
X-Foura-State |
-state- |
X-Foura-City |
-city- |
X-Foura-Asn |
-asn- |
X-Foura-Lifetime |
-lifetime- |
curl -x http://USERNAME:PASSWORD@proxy.foura.ai:34004 \
--proxy-header "X-Foura-Country: de" \
https://example.com
レスポンス
確立されたトンネルは200 Connection establishedを返します。拒絶された場合はすべて1行の理由を含むX-Foura-Errorヘッダーが付与されるため、まずはこのヘッダーを確認してください。
| ステータス | 発生条件 |
|---|---|
| 400 Bad Request | 不正な形式のリクエスト、またはFourAで処理できないオプションです。X-Foura-Errorに対象のオプションとサポートされている値が明記されます。 |
| 403 Forbidden | ターゲットポートが提供対象外であるか、ターゲットがパブリックインターネットのホストではありません。 |
| 405 Method Not Allowed | CONNECTではなく通常の平文リクエストが送信されました。 |
| 407 Proxy Authentication Required | 認証情報が不足しているか誤っています。どちらに誤りがあるかはレスポンスに示されません。 |
| 408 Request Timeout | クライアントが接続後、15秒間データを送信しませんでした。 |
| 429 Too Many Requests | プロキシユーザーの同時オープントンネル数がすでに200件に達しているか、ポートの容量または確立レート上限に達しています。 |
| 502 Bad Gateway | 選択猶予時間内にターゲット用の稼働出口が見つからなかったか、FourA独自のリゾルバーでホストを名前解決できませんでした。これらはX-Foura-Errorで別々のメッセージとして返されます。 |
| 503 Service Unavailable | プロキシポートが無効化されています。 |
制限
- プロキシユーザーごとに同時にオープンできるトンネル数は最大200件です。
- 出口の探索には最大45秒かかり、見つからない場合はポートが502を返して終了します。既に出口が割り当てられているセッションは通常1秒未満で接続されます。
- 双方向でデータの送受信がないトンネルは、2分間のアイドル状態の後にクローズされます。
- ダッシュボードで無効化または削除されたプロキシユーザーは、1分以内に認証が停止します。
計測
ポートを経由したバイト数は使用量と制限ページの帯域幅としてカウントされ、レジデンシャル出口を経由したバイト数はプレミアムトラフィックとしてもカウントされます。プレミアム容量の消費後に-network-residentialを指定した接続はそのまま処理されます。その状態ではフォールバックや保存されたレジデンシャルのデフォルト設定は適用されず、代わりに共有ネットワークから接続が提供されます。
関連項目
- プロキシユーザー: ダッシュボードでのプロキシユーザー作成と接続文字列の生成
- プロキシリクエスト: リトライ機能と検証機能が組み込まれたJSON APIの代替手段
- リクエスト間でのプロキシ再利用: JSON APIで同一出口を維持する方法
- 使用量と制限: プランに対する帯域幅とプレミアムトラフィック