Points clés
Une requête erronée de votre part renvoie désormais un code 400, et non plus notre 503. Single, Proxy Finder et Browser identifient chaque champ en cause, ne facturent rien et n'incitent plus à une nouvelle tentative vouée à l'échec. La vue Budget sépare également les crédits payés de tout ce que vos requêtes ont consommé, et modifier votre mot de passe déconnecte désormais toutes les autres sessions du Dashboard. Vous trouverez les deux premiers points dans le journal des modifications.
Nouveautés
Une requête invalide indique précisément l'erreur
Envoyez à Single, Proxy Finder ou Browser un body qu'il ne peut pas traiter (un url manquant, un timeout_ms qui n'est pas un nombre) et vous recevez un code HTTP 400. Le error commence par Invalid request: et liste chaque champ en cause avec sa raison, jusqu'à cinq champs. Il s'agit d'un résultat client_error qui coûte 0 crédit.
Jusqu'à cette semaine, ces requêtes renvoyaient une erreur générique 503, laissant penser à un problème de notre côté et incitant une boucle de retry à relancer l'appel. Si votre client traite un code 400 comme définitif (comme le fait l'exemple dans notre référence des erreurs), une simple faute de frappe interrompt désormais l'exécution dès le premier appel :
import requests
r = requests.post(
"https://api.foura.ai/api/single",
headers={"X-API-Key": "pk_live_..."},
json={"url": "https://example.com/data", "timeout_ms": "fast"},
)
if r.status_code == 400:
# "Invalid request: timeout_ms: ..." means fix the call, don't retry it
raise ValueError(r.json()["error"])
Auto fonctionne comme avant ici. Un champ non accepté renvoie toujours un code HTTP 200 avec status: 400 et la raison dans error, avant toute tentative et sans frais.
Crédits facturés et consommés, côte à côte
La vue Budget sous Metrics commence désormais par les crédits facturés, ceux utilisés uniquement par les requêtes réussies, et affiche le total consommé juste en dessous sous la forme "sur N consommés". Le coût par requête est également indiqué en crédits facturés. De plus, la ventilation par clé, domaine ou adresse IP client comporte une colonne triable pour chaque valeur.
Le total consommé prend en compte chaque résultat, car une requête échouée mobilise tout de même une sortie ou un navigateur pour constater son échec. L'écart entre les deux colonnes indique ainsi, domaine par domaine, la quantité de ressources mobilisées pour des requêtes non abouties.
Se déconnecter signifie être déconnecté
Modifiez votre mot de passe dans Settings, réinitialisez-le depuis la page de connexion, ou cliquez sur Déconnecter les autres sessions, et tous les autres navigateurs connectés à votre compte sont déconnectés. Celui depuis lequel vous avez effectué la modification reste connecté. La déconnexion met désormais fin à cette session de notre côté également, et plus seulement dans votre navigateur.
La page de réinitialisation de mot de passe demande désormais la même étape de vérification que la connexion et l'inscription. Elle reste invisible sauf si une action de votre part est requise.
Proxy Finder et redirections de passerelle
Certaines sorties se trouvent derrière une passerelle de réseau d'entreprise. L'article précédent traitait de celles qui renvoient leur propre page de connexion. Proxy Finder détecte désormais aussi celles qui répondent par une redirection vers leur service d'authentification, considère cela comme une tentative échouée et bascule sur une autre sortie, au lieu de renvoyer cette redirection comme réponse du site.
Correctifs mineurs du Dashboard
- Lorsque le propriétaire sélectionné (Tout, Personnel ou une organisation) ne possède pas encore de clés API, Overview et Metrics le signalent sous la période et vous invitent à en créer une.
- Chaque valeur sur Overview se place juste sous son libellé dans une taille unique, afin qu'une ligne de panneaux se lise de façon fluide quelle que soit la largeur d'affichage. Le panneau des tentatives Auto est toujours affiché, indiquant zéro pour une période sans appels Auto.
- Subscribe supprime le sélecteur Mensuel/Annuel pour un forfait proposé sous une seule formule.
- Dans le cadre d'un essai configuré par nos soins, choisir un autre forfait sur la page de mise à niveau demande désormais une carte bancaire et lance une période complète le jour même. L'essai prend fin dès que le paiement est validé.
Sous le capot
Les appels vers api.foura.ai et eu.api.foura.ai sont désormais traités par plusieurs serveurs simultanément au lieu d'un seul. Si un serveur cesse de répondre, les nouveaux appels sont redirigés vers les autres en l'espace de deux minutes.
Auto est devenu plus léger. Sélectionner une session enregistrée pour un appel nécessite quatre recherches internes là où il en fallait des dizaines auparavant, et chaque serveur traite une plus grande capacité Auto qu'avant, réduisant ainsi l'attente des requêtes Auto en file d'attente pendant les heures de pointe.
Chaque moteur est passé au runtime LTS actuel avec la mise à jour de sécurité d'octobre, et nous avons corrigé les bibliothèques sur l'API, le Dashboard, la documentation et le blog. Sur Single et Proxy Finder, le nouveau runtime empêche une sortie qui s'interrompt en cours de lecture de ralentir les autres requêtes sur son serveur. Avant qu'un serveur ne redémarre pour une nouvelle version, il cesse de recevoir de nouveaux appels, puis réintègre le pool dès qu'il valide ses vérifications.
Les retries concernent les sites qui vous font attendre, pas une faute de frappe dans votre propre requête.