Port du proxy
Envoyez votre propre trafic via les sorties de FourA depuis n'importe quel client acceptant une URL de proxy : un navigateur, un outil de téléchargement ou un scraper existant. Le port proxy ouvre un tunnel vers la cible spécifiée et relaie les octets dans les deux sens, prenant ainsi en charge ce que l'API JSON ne gère pas : les flux, les téléchargements volumineux et les sessions entières de navigateur.
Connexion
| Paramètre | Valeur |
|---|---|
| Host | proxy.foura.ai |
| Port | 34004 |
| Protocole | HTTP CONNECT avec authentification Basic |
| Ports cibles | 443 et 80 |
Les identifiants proviennent du tableau de bord. Créez un utilisateur proxy sous Proxy dans la barre latérale pour obtenir un identifiant et un mot de passe générés. Ils sont délibérément distincts de votre clé API : le handshake du proxy transite en clair à chaque connexion, et un utilisateur proxy peut être renouvelé sans modifier votre intégration API. Consultez 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)
Le port utilise uniquement CONNECT. Une cible https:// est tunnelisée par tous les clients. Une cible http:// standard fonctionne si votre client la tunnelise également (curl : --proxytunnel) ; un client qui transmet directement la requête en clair au proxy reçoit 405 Method Not Allowed.
Les options sont transmises dans le Username
Tout élément situé après l'identifiant est une liste de paires -key-value, dans n'importe quel ordre :
USERNAME-network-premium-country-de-session-a1
Les valeurs sont des mots en minuscules. Un tiret a l'interieur d'une valeur declenche une nouvelle option, donc -city-new-york est interprete comme deux options et est refuse. Une cle inconnue est egalement refusee et n'est jamais ignoree : une cle -contry-de mal orthographiee renvoie une erreur 400 indiquant les cles supportees, plutot que d'acheminer la requete vers le mauvais pays.
| Option | Valeurs | Description |
|---|---|---|
network |
shared (par defaut, alias pool), premium (alias residential) |
Le reseau d'origine de l'adresse. Shared correspond aux points de sortie propres a FourA, inclus dans votre forfait. Premium correspond aux adresses residentielles, issues du volume de donnees premium inclus dans votre forfait et des recharges achetees. |
fallback |
premium (alias residential), off |
Reseau shared uniquement. Bascule sur une sortie premium si le reseau shared ne peut pas traiter la requete. Desactive par defaut, et ne se declenche que si votre forfait inclut du trafic premium et qu'il vous reste du credit. |
country |
ISO 3166-1 alpha-2, repetable | Le pays de sortie vu par la cible. Repetez l'option pour cibler plusieurs pays : -country-de-country-fr. |
session |
1 a 32 lettres, chiffres ou underscores | Les connexions partageant un meme nom partagent la meme adresse (sticky). Omettez ce parametre pour obtenir une nouvelle adresse par connexion (rotating). |
state |
un mot | Region. Premium uniquement. |
city |
un mot | Ville. Premium uniquement. |
asn |
un nombre | Reseau, par numero d'AS. Premium uniquement. |
os |
windows, android, ios, mac |
Le type d'appareil associe a l'adresse. Premium uniquement. |
lifetime |
3 a 1440 |
Duree de conservation en minutes d'une adresse premium sticky. Premium uniquement. |
Toutes les options sauf network, fallback et session acceptent any, ce qui efface la valeur enregistree sur l'utilisateur proxy pour cette connexion specifique.
Trois combinaisons sont rejetees avec une erreur 400 plutot que d'etre partiellement appliquees :
state,city,asn,osoulifetimesur le reseau shared. Le reseau shared est selectionne uniquement par pays, sans ciblage plus precis ; ajoutez-network-premiumpour cibler une ville.-fallback-premiumassocie a-network-premium. Une option de repli n'a aucun sens sur le reseau de destination du repli.- Un ciblage precis avec repli active. Le repli etant aleatoire, une ville qui ne pourrait etre respectee que par intermittence est refusee.
Sessions
Sur le reseau shared, une session nommee conserve le meme point de sortie tant que vous l'utilisez, selon une fenetre glissante de dix minutes. Si ce point de sortie cesse de fonctionner, la session bascule vers un autre au lieu d'echouer. Un navigateur controle via le port doit toujours porter un nom de session : le chargement d'une page ouvre des dizaines de connexions, et sans session, chacune partirait d'une adresse differente.
Sur le reseau premium, une session nommee conserve son adresse pendant lifetime minutes, ou selon la valeur par defaut du reseau si vous n'en definissez pas.
Valeurs par defaut enregistrees
Le ciblage enregistré sur un utilisateur proxy dans le dashboard s'applique à chaque connexion établie avec celui-ci, ce qui permet de conserver un nom d'utilisateur court. Tout ce que vous définissez dans le nom d'utilisateur prévaut pour cette connexion spécifique, et any révoque une valeur enregistrée. Une valeur par défaut premium enregistrée n'entraîne des coûts que si votre forfait le permet ; dans le cas contraire, la connexion est routée via le réseau partagé et le tunnel s'ouvre tout de même.
CONNECT headers
Un client capable d'ajouter des headers à la request CONNECT peut envoyer les mêmes options sous forme de headers. Un header est prioritaire sur la même option définie dans le nom d'utilisateur.
| Header | Identique à |
|---|---|
X-Foura-Network |
-network- |
X-Foura-Fallback |
-fallback- (premium ou off) |
X-Foura-Country |
-country-, séparées par des virgules pour plusieurs |
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
Réponses
Un tunnel qui s'ouvre répond 200 Connection established. Chaque refus émis après la vérification de vos identifiants comporte un en-tête X-Foura-Error contenant une raison sur une ligne, lisez donc cet en-tête avant toute autre chose.
| Statut | Circonstance |
|---|---|
| 400 Bad Request | Requête malformée ou option que FourA ne peut pas honorer. X-Foura-Error précise l'option et les valeurs supportées. |
| 403 Forbidden | Le port cible n'est pas desservi, la cible n'est pas un hôte internet public, le port n'est pas inclus dans votre forfait, ou vous avez indiqué -network-premium et votre forfait n'a plus de trafic premium disponible ou n'inclut pas le réseau premium. |
| 405 Method Not Allowed | Une simple requête au lieu de CONNECT. |
| 407 Proxy Authentication Required | Identifiants manquants ou incorrects. La réponse n'indique jamais quelle partie était erronée. |
| 408 Request Timeout | Le client s'est connecté et n'a rien envoyé pendant 15 secondes. |
| 431 Request Header Fields Too Large | Les en-têtes de la requête CONNECT ont dépassé 16 Ko. |
| 429 Too Many Requests | L'un des seuils de votre forfait : tunnels ouverts simultanément, ouvertures de tunnel par minute, ou le trafic standard pour cette période de facturation. Également lorsque le port lui-même a atteint sa capacité ou son taux d'ouverture. X-Foura-Error précise lequel. |
| 502 Bad Gateway | Aucune sortie fonctionnelle n'a été trouvée pour cette cible dans le budget de sélection imparti, ou le résolveur de FourA n'a pas pu résoudre l'hôte. Ces deux cas correspondent à des messages distincts dans X-Foura-Error. |
| 503 Service Unavailable | Le port proxy est désactivé. |
Limites
- Les tunnels ouverts simultanément et les ouvertures de tunnel par minute dépendent de votre forfait, et sont comptabilisés pour le compte plutôt que par utilisateur de proxy : la création d'un second identifiant n'octroie pas de quota supplémentaire. Vos chiffres figurent sur Usage & Limits.
- La recherche d'une sortie prend jusqu'à 45 secondes avant que le port n'abandonne avec une erreur 502. Une session qui possède déjà une sortie se connecte généralement en bien moins d'une seconde.
- Un tunnel sans aucun octet transféré dans les deux sens est fermé après deux minutes d'inactivité.
- Lors de la mise à jour du port, les tunnels déjà ouverts disposent d'un peu moins de trois minutes pour se terminer avant d'être fermés, tandis que de nouvelles connexions continuent de s'ouvrir. Un téléchargement long ou un flux doit se reconnecter dès que son tunnel est fermé.
- Un utilisateur proxy que vous désactivez ou supprimez dans le tableau de bord cesse d'être authentifié en moins d'une minute.
Mesure de l'utilisation
Les octets transitant par le port sont décomptés de la bande passante sur votre page Usage & Limits, et les octets transitant par une sortie premium sont également décomptés de votre trafic premium : ce sont les mêmes octets, comptabilisés deux fois, sans jamais être additionnés. Lorsqu'un tunnel s'ouvre, le trafic des sorties premium testées mais non utilisées par le port est également comptabilisé comme trafic premium. Les tentatives non utilisées sur le réseau partagé ne sont pas décomptées, et rien n'est facturé si aucun tunnel ne s'ouvre.
Le trafic standard que le port peut utiliser dépend de votre forfait. Sur un forfait vendu par crédits, le port dispose de ses propres gigaoctets inclus, et la page Facturation permet d'en acheter davantage ; sur un forfait vendu au trafic, il puise dans le même pool que l'API. Lorsque ce quota est épuisé, les nouvelles connexions sont refusées jusqu'à la réinitialisation de la période ou l'ajout de volume, et les e-mails de suivi de consommation indiquent quand cela se produit.
Une fois le quota premium épuisé, les trois méthodes d'accès à ce réseau reçoivent des réponses différentes, de manière délibérée. Une connexion qui spécifie -network-premium est refusée avec une erreur 403 explicite, car un appelant ayant demandé à consommer du quota premium et discrètement redirigé ailleurs continuerait ses requêtes tout en cherchant à rapprocher une ligne premium qui n'apparaît jamais. Aucun repli n'est appliqué, et une valeur premium par défaut enregistrée sur l'utilisateur proxy est rétrogradée vers le réseau partagé, ce qui ouvre tout de même le tunnel : aucune de ces options n'a explicitement choisi de consommer du quota sur cette connexion.
Related
- Proxy Users: Créez des utilisateurs proxy et générez une chaîne de connexion dans le tableau de bord
- Proxy Request: L'alternative via API JSON, avec nouvelles tentatives et validation intégrées
- Reuse a Proxy Across Requests: Conserver une même sortie sur l'API JSON
- Usage & Limits: Bande passante et trafic premium décomptés de votre forfait