Est-ce que cURL peut envoyer des requêtes aux sockets?
75
J'ai un serveur HTTP à /var/run/my-server.sock, et je veux le tester en envoyant une simple requête en utilisant cURL. Cela peut-il être fait avec cURL? Cela peut-il être fait ou faut-il un proxy inverse?
Qui spécifie GETexplicitement (plutôt que supposé). Et ne sera pas tampon (pour la tail -fmise à jour en temps réel).
(La première version d'Ubuntu à être livrée avec curl 7.40 ou plus récente était 15.10).
cURL 7.50 et versions ultérieures nécessitent la fourniture d'une URL valide , y compris un nom d'hôte. Pour exécuter les exemples ci-dessus avec cURL 7.50, un nom d'hôte "factice" doit être ajouté, par exemple:
Et dans cet exemple, je vois la prise dans laquelle je m'apprêtais à aller curlaprès tout. Longue vie à Docker!
Spacediver
En passant, les exemples netcat et socat ne sont plus au - dessus :]
Hubro
C'est vraiment utile. Cependant, j'essaie de faire cela, curl --no-buffer -XGET --unix-socket tcp://192.168.99.102:2376 http://eventsmais curl ne peut pas se connecter au serveur. J'ai essayé d'utiliser la bibliothèque ruby docker et il se connecte très bien avec cet utilisateur
user1513388
1
@ user1513388 Je suis presque sûr que vous devez fournir le chemin d'accès à un socket comme argument --unix-socket, pas un URI.
curl
après tout. Longue vie à Docker!curl --no-buffer -XGET --unix-socket tcp://192.168.99.102:2376 http://events
mais curl ne peut pas se connecter au serveur. J'ai essayé d'utiliser la bibliothèque ruby docker et il se connecte très bien avec cet utilisateur--unix-socket
, pas un URI.Pas sûr, mais selon ce billet:
cela ne semble pas être le cas.
Par ceci:
on dirait que socat ou nc peut le faire, coupez le coup ci-dessus:
Je n'ai pas essayé non plus moi-même.
la source
\r\n\r\n
à la fin, pas\r\n
echo -e "GET / HTTP/1.1\r\n\r\n"