Testeur de requêtes HTTP Hurl 6.0.0

Posté par  (site web personnel) . Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
29
9
déc.
2024
Internet

Hurl est un outil libre (APLv2) pour exécuter et tester des requêtes HTTP, en ligne de commande, à partir de fichiers textes. Il permet de chaîner des requêtes, capturer des valeurs et évaluer des conditions sur les en-têtes et le corps des réponses. Et on peut l’utiliser pour récupérer des données et tester des sessions HTTP : contenu HTML, API REST/SOAP/GraphQL, API à base de XML ou JSON. Et la version 6.0.0 est parue le 4 décembre 2024.

Hurl a déjà été mentionné sur LinuxFr.org, notamment parce qu’il est utilisé pour les tests de certains services du site, à savoir actuellement img, le cache d’images et epub, le convertisseur EPUB3 à la volée (chacun avec sa suite de tests pour valider le bon fonctionnement des services en IPv4 et en IPv6, en HTTP 1.1 et en HTTP 2.0). jcamiel, un des mainteneurs de Hurl, est d’ailleurs intervenu sur une des dépêches précédentes, venu discuter des évolutions et idées d’améliorations qui permettraient de simplifier l’écriture de telles suites de tests.

Les nouveautés de la version 6.0.0 sont décrites dans la seconde partie de la dépêche.

Journal Avoir l'alarme à l'oeil

Posté par  . Licence CC By‑SA.
98
24
sept.
2023

Avant-propos: Les personnages et sociétés citées dans ce récit sont fictives. L'auteur ne connait pas Martin Petit, ni la société d'assurances La Forestière, et non plus la société de télésurveillance Alarm&moi. Mais ils se pourrait, dans une réalité alternative, ou pas, que les faits se soient réellement déroulés comme raconté ici…

Ville dortoir, Covid et sécurité

M. Martin Petit habite le centre-ville d’une ville moyenne de banlieue. C’est ce qu’on pourrait appeler une ville-dortoir. On y habite, il y a (…)

Forum général.général Requête HTTP pour obtenir la version mise en cache, même périmée

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
2
25
avr.
2023

Bonjour,

J'utilise un miroir avec mise en cache du dépôt Alpine Linux pour mes machines virtuelles, le but étant de minimiser l'usage de bande passante et de rendre les mise à jour plus rapides sur tout mon parc.

Pour faire ça j'utilise nginx, avec une config pompée là dessus. Ça marche impec.

Cependant je voulais savoir s'il existait un moyen pour un client HTTP de demander au miroir de lui servir une ressource en version mise en cache, même (…)

Journal Recherche d'un reverse proxy

Posté par  . Licence CC By‑SA.
Étiquettes :
12
5
mar.
2021

Hello world.

Cela fait longtemps que je n'ai pas pris ma plume pour vous parler. Le temps et l'envie me manquaient.

Aujourd'hui je crée ce journal car je me demande quel reverse proxy utiliser.

Jusqu'à maintenant, j'ai utilisé Lighttpd puis Traefik proxy. J'ai switché sur Trafik par ce qu'il est simple à configurer, que sa configuration peut se faire via des fichiers YAML (pratique si on déploie sa config avec Ansible), sa configuration est dynamique, il peut servir de (…)

Forum Programmation.autre [Résolu] Problème avec une API http (en python)

Posté par  . Licence CC By‑SA.
Étiquettes :
2
4
mar.
2021

Bonjour,
Je voulais créer un bot pour la plateforme de streaming twitch qui par exemple répond automatiquement à certains messages.

J'ai, pour cela, cherché des tutoriels sur youtube.
J'ai ensuite essayé de créer le bot grâce à ce tutoriel qui n'est pas très clair sur la création de la base du bot etc. mais en le mélangeant avec d'autres recherches j'ai trouvé ce qu'il me manquait.

Quand j'ai fini de suivre se tuto j'ai eu des erreurs, j'ai donc (…)

Forum Linux.général Ordre des VirtualHosts Apache

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
2
19
avr.
2019

Bonjour,

J'ai un serveur Apache qui héberge plusieurs hôtes en parallèle.
Chaque VirtualHost est associé à un nom de domaine, pourtant, quand je visite un site, je tombe sur un autre.
Je ne comprends pas la logique :

    # Hote 1

    <VirtualHost appli1.domaine.fr:80>
        ServerName appli1.domaine.fr
        ...
    </VirtualHost>
    <IfModule mod_ssl.c>
        <VirtualHost appli1.domaine.fr:443>
                ServerName appli1.domaine.fr
                ...
        </Virtualhost>
    </IfModule>

    # Hote 2

    <VirtualHost appli2.domaine.fr:80>
        ServerName appli2.domaine.fr
        ...
    </VirtualHost>
    <IfModule mod_ssl.c>
        <VirtualHost appli2.domaine.fr:443>
                ServerName appli2.domaine.fr
                ...
        </Virtualhost>
    </IfModule>

Une idée pour éclairer ma lanterne (…)

Forum Programmation.shell comportement étrange de curl dans un script.

Posté par  . Licence CC By‑SA.
Étiquettes :
0
12
déc.
2018

Bonjour à tous,

J'ai un comportement étrange dans un script shell avec la commande curl.

Dans mon script je génère dynamiquement les paramètres de ma commande pour obtenir la commande suivante :

    curl -k --request POST  -H "type:csv" -H "import:fich" -H "zipped:true" -H "fichier:nbncsv00002.csv.zip" -H "key:JmzEVJ2EezlkfemlfmleSDKKFekv" -T /tmp/tmp.QJENaDVvAV/nbncsv00002.csv.zip  http://www.xxx.yyy.zzz:pppp/monappli/import 2>&1>/tmp/tmp.QJENaDVvAV/curlreturn.log

Lors de l'exécution dans le script cette commande ne semble pas atteindre le serveur qui reçois le fichier;ça se caractérise par pas d'entrée dans les logs.

(…)

Journal Mercure : un nouveau protocole web pour mettre à jour les navigateurs en temps réel ("push")

Posté par  (site web personnel) . Licence CC By‑SA.
52
27
nov.
2018

Cher journal,

J'ai récemment publié un nouveau protocole (ouvert) nommé Mercure, ainsi qu'une implémentation de référence écrite en Go (libre, sous licence AGPL).

Mercure permet de "pousser" en temps réel des données depuis des serveurs vers des navigateurs web (ou autres clients HTTP). La spécification et l'implémentation sont disponibles sur GitHub.

Le projet peut être considéré comme un remplaçant de WebSocket (bien que le protocole soit de plus haut niveau), et des solutions propriétaires telles que Pusher.

Contrairement à (…)

Wiki [Tuto/HowTo] HaProxy - bloquer les serveurs renvoyant des erreurs HTTP

0
29
août
2018

Introduction

Par défaut HaProxy ne vérifie que la présence en ligne ou non des serveurs web, pas les erreurs renvoyées dans les en-têtes.
Ainsi, un serveur backend non fonctionnel suite à un problème de montage ou d'accès à la base de données, sera quand même considéré comme "UP" et les requêtes réseaux continueront d'y être acheminées, provoquant moult mécontentements chez vos utilisateurs qui pourraient se retrouver spammer de notification d'erreur sur leur smartphone chéri.
Néanmoins, HaProxy permet, via (…)

Wiki [Tuto/HowTo] HaProxy - bannir les requêtes quand l'User-Agent est vide

0
20
juil.
2018

Introduction

Il n'est pas rare que des robots crawlent les sites internet sans utiliser d'User-Agent.
Si vous souhaitez les bannir de vos frontends HaProxy, voici comment faire.

Éditez votre fichier de configuration /etc/haproxy/haproxy.cfg

Ensuite selon vos envies: ajoutez une des deux règles suivantes.

  • Si vous souhaitez renvoyer une erreur HTTP 403 Forbidden (accès interdis) quand l'user-agent est vide, ajoutez la règle HaProxy pour frontend suivante.
http-request deny if { hdr_cnt(user-agent) eq 0 }
  • Si vous voulez bannir toute (…)