J'utilise le logiciel Charles Web Debugging Proxy pour déboguer les requêtes HTTP. Il fonctionne parfaitement avec mes navigateurs de bureau, Chrome et Firefox, et il voit même les requêtes HTTP effectuées par d'autres programmes.
Lorsque j'exécute Charles et que je vérifie la configuration du réseau, je pense que je comprends comment il fonctionne - il configure simplement un proxy pour toutes les demandes HTTP et HTTPS et les écoute sur le port 8888 :
Cependant, ce que je n'arrive pas à comprendre, c'est que je ne vois pas les requêtes que je lance dans le terminal, telles que wget
, curl
ou le elinks
navigateur.
Je sais que je peux spécifier le proxy avec curl et wget en utilisant 127.0.0.1:8888, mais je ne comprends pas pourquoi, si l'interface réseau est configurée avec un proxy dans la configuration, je devrais spécifier manuellement le proxy pour eux.
Je n'arrive pas non plus à faire apparaître BlueCrab (copieur de site web) dans Charles - et je ne vois pas de paramètre de proxy pour lui - bien que je pense qu'il utilise un wrapper XWindow ou quelque chose comme ça (donc ce n'est pas vraiment une application Cocoa / Carbon native) :
Comment puis-je faire en sorte que toutes les requêtes HTTP de mon système passent par Charles ?
Clarification
Ma question porte sur les principes fondamentaux du système, à savoir pourquoi curl et wget n'utilisent pas de proxy alors que l'interface réseau est configurée pour en utiliser un, plutôt que de demander la syntaxe correcte de curl
, wget
etc.