curl N'a pas réussi à se connecter au port 80 de localhost
Mon fichier hosts cartes 127.0.0.1
localhost
.
$ curl -I 'localhost'
curl: (7) Failed to connect to localhost port 80: Connection refused
Et
$ curl -I 127.0.0.1
HTTP/1.1 200 OK
Server: nginx/1.2.4
Date: Wed, 09 Apr 2014 04:20:47 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 23 Oct 2012 21:48:34 GMT
Connection: keep-alive
Accept-Ranges: bytes
Dans mon fichier hosts, j'ai
127.0.0.1 localhost
Il semble que curl
la commande ne reconnaît pas les entrées de /etc/hosts
. Quelqu'un peut m'expliquer pourquoi?
mise à jour: Je n'ai pas encore essayé mais j'ai discovered que vous pouvez configurer nginx pour répondre à ipv4 et ipv6
4 réponses
Puisque vous avez un ::1 localhost
dans votre fichier hosts, il semblerait que curl tente D'utiliser IPv6 pour contacter votre serveur web local.
depuis que le serveur web n'écoute pas sur IPv6, la connexion échoue.
Vous pouvez essayer d'utiliser le --ipv4
option curl
, ce qui devrait forcer une connexion IPv4 lorsque les deux sont disponibles.
si quelqu'un d'autre tombe sur ceci et que la réponse acceptée ne fonctionne pas (ce n'est pas le cas pour moi), vérifiez si vous avez besoin de spécifier un port autre que 80. Dans mon cas, j'utilisais un serveur rail à localhost:3000
et c'était juste à l'aide de curl http://localhost
, qui touchait le port 80.
changer la commande en curl http://localhost:3000
est-ce qui a fonctionné dans mon cas.
j'ai aussi eu des problèmes avec la connexion refusée sur le port 80. Je n'ai pas utilisé localhost.
curl --data-binary "@/textfile.txt" "http://www.myserver.com/123.php"
problème était que j'avais umlauts äåö dans mon textfile.txt.
Dans mon cas, le fichier ~/.curlrc avait un mauvais mandataire configuré.