Tôi vừa nâng cấp từ Mavericks lên Yosemite và bây giờ curl
không thể thấy tên máy chủ loopback.
Thiết lập một máy chủ http đơn giản để kiểm tra:
$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
Bây giờ tôi có thể nhấn localhost: 8000 bằng chrome. Tôi thậm chí có thể quên nó. Nhưng trong curl, điều này xảy ra:
$ curl localhost:8000
curl: (7) Failed to connect to localhost port 8000: Connection refused
Tuy nhiên, điều này hoạt động:
$ curl 127.0.0.1:8000
Tôi đã đọc câu trả lời này về cài đặt proxy wget , nhưng nó không có ích, bởi vì điều này hoạt động:
$ wget --proxy=off localhost:8000
Điều này thực sự gây nản lòng, vì tôi có một vài tên máy chủ loopback khác nhau được liệt kê trong /etc/hosts
tệp của mình để tôi có thể phát triển ứng dụng cục bộ và tôi thường sử dụng để gỡ lỗi chúng bằng curl.
Tôi đã thử với phiên bản curl mà tàu có 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
Và tôi đã thử biên dịch curl với 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