Ho appena aggiornato da Mavericks a Yosemite e ora curl
non riesco a vedere i nomi degli host di loopback.
Configurare un semplice server http per testare:
$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
Ora posso colpire localhost: 8000 in Chrome. Posso anche wget it. Ma a ricciolo, questo succede:
$ curl localhost:8000
curl: (7) Failed to connect to localhost port 8000: Connection refused
Tuttavia, questo funziona:
$ curl 127.0.0.1:8000
Ho letto questa risposta sulle impostazioni del proxy wget , ma non ha aiutato, perché funziona:
$ wget --proxy=off localhost:8000
Questo è davvero frustrante, perché ho alcuni nomi host di loopback diversi elencati nel mio /etc/hosts
file in modo da poter sviluppare app localmente e sono abituato a eseguirne il debug con arricciatura.
Ho provato con la versione di arricciatura fornita con osx:
$ curl --version
curl 7.37.1 (x86_64-apple-darwin14.0) libcurl/7.37.1 SecureTransport zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IPv6 Largefile NTLM NTLM_WB SSL libz
$ curl localhost:8000
curl: (7) Failed to connect to localhost port 8000: Connection refused
$ curl 127.0.0.1 # works
E ho provato a compilare il ricciolo con brew:
$ /usr/local/Cellar/curl/7.38.0/bin/curl --version
curl 7.38.0 (x86_64-apple-darwin14.0.0) libcurl/7.38.0 SecureTransport zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp
Features: IPv6 Largefile NTLM NTLM_WB SSL libz
$ /usr/local/Cellar/curl/7.38.0/bin/curl localhost:8000
curl: (7) Failed to connect to localhost port 8000: Connection refused
$ /usr/local/Cellar/curl/7.38.0/bin/curl 127.0.0.1:8000 # works