Saya mencoba beberapa cara tetapi kelihatannya membingungkan.
root@testt:~# curl localhost:8080
<h1>Hello world!</h1>
<p>Boom Bam Splat</p>
root@testt:~# curl ::1:8080
curl: (3) IPv6 numerical address used in URL without brackets
root@testt:~# curl [::1]:8080
curl: (3) [globbing] bad range specification in column 2
Jawaban:
Melihat saran — dan uraian kesalahan umum — pada posting blog ini , mungkin Anda harus mencoba ini.
The
-g
tampaknya menjadi kunci ajaib untuk mendapatkan kerja ini. Seperti yang dijelaskan dicurl
halaman manual:Dan
-6
sarana untuk menggunakan IPv6 saja:Tetapi membaca deskripsi fungsionalitas itu, sepertinya
-6
tidak benar-benar diperlukan untuk alamat IPv6 murni; hanya jika seseorang menggunakancurl
nama host yang memiliki alamat IPv4 dan IPv6 yang terhubung sehingga ia akan memilih IPv6. Hanya sesuatu yang perlu diperhatikan.sumber
OSX 10.13.3
: Ini berfungsi:$ curl "http://localhost:50710/file1.txt"
dan ini tidak$ curl -g -6 "http://[::1]:50710/file1.txt"
menggulung: (7) Gagal terhubung ke :: 1 port 50710: Sambungan ditolak . Dan$ curl -V
memang tampilIPv6
sebagai fitur (curl 7.58.0)./etc/hosts
Daftar file saya :::1 localhost
0.0.0.0.0.0.0.1
saya bisa melakukannyacurl "http://[::1]:50710/file1.txt"
. Jika saya menambahkan-v
opsi untuk keluaran verbose, saya melihat di keluaran: Mencoba :: 1 ... * Set TCP_NODELAY * Terhubung ke :: 1 (:: 1) port 52489 (# 0) - Untuk beberapa alasan, saya tidak membutuhkan-g
opsi.curl -v "http://localhost:52489/file1.txt"
. Dalam output saya melihat: Mencoba :: 1 ... * Set TCP_NODELAY * Terhubung ke localhost (:: 1) port 52489 (# 0) - Ah, saya pikir itu karena/etc/hosts
file saya menyelesaikan nama "localhost" untuk kedua alamat ipv4 dan ipv6. Dan jika saya mencoba:curl -v "http://127.0.0.1:52489/file1.txt"
maka saya mendapatkan koneksi menolak kesalahan.0.0.0.0.0.0.0.1
" Anda benar-benar tidak tahu apa yang Anda bicarakan. Saya sarankan menulis pertanyaan baru yang menjelaskan semua yang Anda jelaskan di komentar ini dan lihat apakah seseorang dapat membantu Anda. Lihat jawaban ini jika Anda mau. Tetapi jika Anda menganggap0.0.0.0.0.0.0.1
alamat IPv6 yang valid, Anda sudah berada pada posisi yang buruk.Dari "curl --manual", saya menemukan ini:
atau
Jadi, untuk alamat yang Anda tanyakan, cobalah:
Namun, Anda mungkin ingin menjalankan:
dan lihat apakah IPv6 muncul di baris yang bertuliskan "Fitur" (baris ketiga, tidak termasuk baris tambahan dari pembungkus kata). Saya menemukan versi saya tidak. Halaman unduhan cURL memiliki berbagai tautan untuk sistem operasi, termasuk situs unduhan curl 7.41.0 (yang saat ini merupakan versi terbaru) untuk Microsoft Windows. Halaman itu memiliki beberapa file yang dapat dieksekusi (tersedia untuk Microsoft Windows); yang pertama saya temukan tidak mendukung IPv6. Tetapi keduanya digambarkan sebagai "ipv6-sspi-spnego-winssl" (satu untuk x86 dan satu untuk x64) tidak: ikal -V memang menunjukkan IPv6. Jadi berhati-hatilah dengan paket yang Anda unduh.
sumber