Playground
Le Playground (barre latérale > Playground) vous permet d'exécuter des requests API en direct avec votre clé réelle sans écrire de code. C'est le moyen le plus rapide de tester un nouveau site cible, de déboguer une response complexe ou de comparer Single, Proxy et Browser côte à côte.
Ouvrez-le sur foura.ai/dashboard#playground.
Ce qu'il fait
Un seul formulaire. Trois moteurs. Du trafic réel.
- Single : fetch HTTP direct avec des caractéristiques réseau réalistes semblables à celles d'un navigateur
- Proxy : fetch proxy rotatif géré
- Browser : ouvre l'URL dans une instance de navigateur Chrome pour les sites rendus par JS
Les requests s'exécutent avec la clé API que vous sélectionnez en haut de la page. L'utilisation est décomptée du quota de cette clé de la même manière qu'un appel en production, alors ne consommez pas tout votre forfait lors de vos tests.
Choisir une clé
Le menu déroulant des clés API affiche toutes les clés actives de votre périmètre : clés personnelles, clés d'organisation que vous administrez et clés partagées d'équipe auxquelles vous avez accès. Choisissez celle à laquelle vous souhaitez facturer la request. Si vous n'avez pas encore de clé active, un message intégré vous renvoie vers la page API Keys pour en créer une.
Choisir un produit
Trois boutons d'option se trouvent au-dessus du formulaire : Single, Proxy, Browser. Changer d'option modifie les champs visibles et le moteur ciblé par la request. La sélection actuelle est conservée lorsque vous rechargez la page.
| Produit | Quand l'utiliser |
|---|---|
| Single | Fetch HTTP rapide. Le meilleur premier choix pour n'importe quelle URL. |
| Proxy | Même fetch avec rotation automatique de proxy. À utiliser lorsque Single est bloqué à répétition. |
| Browser | Charge la page dans une instance de navigateur Chrome. À utiliser lorsque les données n'apparaissent qu'après l'exécution de JavaScript. |
Construire la request
Ligne URL
La ligne supérieure contient la méthode HTTP (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS), l'URL cible et le bouton Send. Single + Proxy respectent toutes les méthodes. Browser ignore la méthode (Chrome émet toujours un GET pour la navigation) et le body.
Onglets de la request
Sous la ligne URL, cinq onglets vous permettent de renseigner le reste :
| Onglet | Ce qu'il contrôle |
|---|---|
| UI | Champs de formulaire pour les timeouts, redirections, flags, proxy, options spécifiques au navigateur et règles de validation |
| Body | Body libre pour les requests POST / PUT / PATCH |
| Headers | Headers de request personnalisés sous forme de paires clé-valeur |
| Cookies | Cookies à envoyer avec la request |
| Raw | Le payload JSON exact qui sera envoyé, modifiable directement |
Toute modification dans UI / Body / Headers / Cookies est répercutée dans Raw. Modifier Raw fonctionne également, les autres onglets se mettant à jour en conséquence.
Sections du panneau UI
L'onglet UI regroupe les paramètres dans des sections repliables. Les champs vides reprennent la valeur par défaut du schéma du moteur.
- Timeouts :
timeout_ms,connect_timeout_ms,accept_timeout_ms,server_response_timeout_ms,dns_cache_timeout_sec - Redirects : activer et définir
followRedirects(0-20). Single + Proxy uniquement. Browser gère les redirections de manière autonome. - Flags :
unblocker,tryJsonData,returnBuffer. Single + Proxy. - Proxy : choisissez un ID de proxy spécifique pour Single ou Browser, ou définissez
maxTries, le timeout externe de Proxy etignoreProxiespour le moteur Proxy. - Browser : options exclusives au navigateur telles que
checkStatusetcheckText. - Validate : règles d'acceptation ou d'échec pour
validate.status(codes d'état),validate.headers(règles clé-valeur de header) etvalidate.data(sous-chaînes d'acceptation/échec du body, alternatives séparées par|).
Les champs qui ne s'appliquent pas au produit actuellement sélectionné sont masqués.
Réinitialisation de la barre d'outils
Le bouton Reset de la barre d'outils (à côté de History) réinitialise le formulaire du produit actif à ses valeurs par défaut. Les valeurs par défaut maintiennent unblocker et tryJsonData activés, ce qui correspond au point de départ le plus courant. Utilisez-le lorsque vous vous êtes éloigné d'une configuration fonctionnelle et souhaitez repartir sur des bases saines sans recharger la page.
Envoi et annulation
Cliquez sur Send pour lancer la request. La colonne de droite passe à un état de chargement avec un indicateur d'activité et un bouton Cancel pendant que l'appel est en cours. Cliquez sur Cancel (ou appuyez à nouveau sur le bouton sur mobile) pour abandonner. Une request annulée rétablit l'espace réservé inactif avec le message « Request canceled. » au lieu d'afficher une erreur.
La carte de response affiche le résultat dès que la request se termine (ou échoue).
Lire la response
La colonne de response reproduit la disposition de la request avec ses propres onglets :
| Onglet | Ce qu'il affiche |
|---|---|
| Body | Body analysé. Alterne entre les vues JSON, HTML et Text selon le contenu renvoyé. |
| Headers | Headers de response, un par ligne. |
| Cookies | Cookies renvoyés par la cible, dans les vues analysée (groupée par hôte) et brute (texte Set-Cookie). La vue analysée affiche un badge HO sur les cookies host-only ; les cookies de domaine ne sont pas marqués. |
| Raw | L'enveloppe JSON complète renvoyée par l'API. |
Un bandeau de métadonnées au-dessus des onglets indique le statut HTTP d'origine, le temps total et (pour les requests Proxy / single-with-proxy-id) l'ID du proxy qui a traité l'appel. Des boutons de copie et de téléchargement se trouvent en haut à droite de chaque volet, vous permettant de récupérer le body ou les headers dans un fichier en un clic.
Agrandir en plein écran
L'icône d'agrandissement de la barre d'outils de response extrait la carte de response de la disposition fractionnée pour l'afficher dans une superposition plein écran. Utilisez-la pour les arborescences JSON profondes, les longs dumps Set-Cookie ou les corps HTML larges où la colonne de demi-largeur est trop étroite. La page elle-même cesse de défiler tant que la superposition est ouverte. Cliquez à nouveau sur l'icône (ou appuyez sur Échap) pour la réduire.
Le reproducteur curl
Sous la response, un bloc curl affiche l'équivalent exact en ligne de commande de la request que vous venez de construire. Copiez-le pour reproduire la request depuis un terminal, partagez-le avec un collègue ou collez-le dans un rapport de bug.
Pour les clés révélables, un bouton Reveal key à côté de l'extrait insère directement la clé réelle en texte brut dans la commande curl afin que vous puissiez la copier et l'exécuter telle quelle. Cliquez à nouveau pour la masquer. Les clés existantes (créées avant le déploiement de la fonctionnalité de révélation) conservent un espace réservé PASTE_PLAINTEXT_FOR_<key-name> ; régénérez la clé depuis la page API Keys pour la rendre révélable.
La révélation de la clé fait l'objet d'un journal d'audit sur le serveur à chaque fois, et la clé en clair ne vit en mémoire que pour la session de page en cours.
Enregistrer des presets
Si vous devez reconfigurer fréquemment la même cible, enregistrez-la. Cliquez sur Save sur la ligne des onglets de request pour stocker la configuration actuelle sous forme de preset nommé.
Ouvrez Saved dans la barre d'outils pour parcourir, renommer ou supprimer vos presets. Cliquez sur n'importe quel preset pour le charger à nouveau dans le formulaire.
| Champ du preset | Ce qu'il stocke |
|---|---|
| Name | Un libellé court (jusqu'à 100 caractères) |
| Description | Notes facultatives (jusqu'à 500 caractères) |
| Endpoint | Le produit auquel le preset est destiné (single / proxy / browser) |
| Config | Le payload complet de la request, y compris les champs UI, les headers, les cookies et le body |
Les presets sont limités à votre compte utilisateur et ne sont pas partagés avec les membres de l'équipe.
Rejouer depuis l'historique
Chaque request que vous exécutez est enregistrée. Ouvrez History dans la barre d'outils pour voir vos 20 derniers lancements, triés du plus récent au plus ancien.
Chaque ligne affiche l'endpoint, l'URL cible, le statut et l'heure. Cliquez sur Replay sur n'importe quelle ligne pour charger à nouveau cette request dans le formulaire, puis sur Send pour l'exécuter à nouveau.
L'historique est automatiquement limité à votre compte : vous ne voyez que vos propres lancements.
Ouvrir depuis l'activité
La boîte de dialogue de détail du Activity Log contient un bouton Open in Playground. Cliquez dessus et le Playground se chargera avec la request archivée et la response archivée. Le formulaire se remplit à partir du payload stocké, et la carte de response affiche ce que l'API a renvoyé à ce moment-là avec un badge « archived » sur le bandeau de métadonnées du proxy (« archived
À partir de là, vous pouvez modifier un paramètre et cliquer sur Send pour exécuter une nouvelle request sur l'API en direct, ou simplement inspecter le payload archivé sans le réexécuter. Les payloads sont conservés pendant 24 heures, les lignes d'activité plus anciennes n'auront donc pas de response rechargeable.
Conseils
- Commencez par le Playground avant d'écrire du code pour une nouvelle cible. Vous saurez en quelques secondes si Single suffit ou si vous avez besoin de Browser.
- Enregistrez un preset pour chaque cible que vous scrapez régulièrement. Rejouer un preset enregistré se fait en un clic ; reconstruire la request de mémoire prend plus de temps.
- Utilisez l'onglet Cookies pour déboguer le scraping basé sur les sessions. La vue brute Set-Cookie montre exactement ce que la cible a envoyé.
- Les requests du Playground sont facturées sur la clé que vous choisissez. Utilisez une clé dédiée à faible quota pour l'exploration occasionnelle si vous souhaitez préserver votre utilisation en production.
Voir aussi
- API Endpoints : Référence complète des paramètres pour les trois produits
- Choosing the Right Endpoint : Quand choisir Single vs Proxy vs Browser
- API Keys : Gérer les clés avec lesquelles vous authentifiez les requests du Playground
- Activity Log : Ouvrir une ancienne request directement dans le Playground
- Dashboard Overview : Toutes les sections de la barre latérale