Próbowałem na kilka sposobów, ale wydają się one mylące zwijanie.
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
Odpowiedzi:
Patrząc na sugestie i zestawienie typowych błędów w tym wpisie na blogu , być może powinieneś spróbować.
-g
Wydaje się być magiczny klucz, aby dostać tę pracę. Jak wyjaśniono nacurl
stronie podręcznika :A
-6
sposoby używania tylko IPv6:Ale czytając ten opis funkcjonalności, wydaje się, że tak
-6
naprawdę nie jest potrzebny do czystego adresu IPv6; tylko jeśli używacurl
się nazwy hosta, do którego jest podłączony adres IPv4 i IPv6, więc wolałby IPv6. Po prostu coś do odnotowania.źródło
OSX 10.13.3
: Działa:$ curl "http://localhost:50710/file1.txt"
i to się nie$ curl -g -6 "http://[::1]:50710/file1.txt"
zwija: (7) Nie udało się połączyć z :: 1 portem 50710: Połączenie odrzucone . I$ curl -V
pokazujeIPv6
jako funkcję (curl 7.58.0). Moje/etc/hosts
listy plików:::1 localhost
0.0.0.0.0.0.0.1
mogę po prostu to zrobićcurl "http://[::1]:50710/file1.txt"
. Jeśli dodam-v
opcję pełnego wyjścia, zobaczę w wyniku: Próbowanie :: 1 ... * Zestaw TCP_NODELAY * Połączony z portem :: 1 (:: 1) 52489 (# 0) - Z jakiegoś powodu nie nie potrzebujesz-g
opcji.curl -v "http://localhost:52489/file1.txt"
. W danych wyjściowych widzę: Próbuję :: 1 ... * Zestaw TCP_NODELAY * Połączony z portem localhost (:: 1) 52489 (# 0) - Ach, myślę, że to dlatego, że mój/etc/hosts
plik rozpoznaje nazwę „localhost” na oba adres ipv4 i ipv6. A jeśli spróbuję:curl -v "http://127.0.0.1:52489/file1.txt"
wtedy otrzymuję błąd odmowy połączenia.0.0.0.0.0.0.0.1
”. Naprawdę nie masz pojęcia, o czym mówisz. Sugeruję napisanie nowego pytania wyjaśniającego wszystko, co wyjaśnisz w tych komentarzach i sprawdź, czy ktoś może ci pomóc. Jeśli chcesz, skorzystaj z tej odpowiedzi. Ale jeśli uważasz, że0.0.0.0.0.0.0.1
jest to prawidłowy adres IPv6, masz już złe podstawy.Z „curl - manual” znalazłem to:
lub
Tak więc dla adresu, o który pytasz, spróbuj:
Możesz jednak uruchomić:
i sprawdź, czy IPv6 pojawia się w wierszu z napisem „Funkcje” (trzeci wiersz, nie licząc dodatkowych wierszy z zawijania słów). Okazało się, że moja wersja nie. Strona pobierania cURL zawiera różne łącza do systemów operacyjnych, w tym stronę pobierania curl 7.41.0 (która jest obecnie najnowszą wersją) dla systemu Microsoft Windows. Ta strona ma wiele plików wykonywalnych (dostępnych dla Microsoft Windows); pierwszy, który znalazłem, nie obsługiwał IPv6. Ale dwa opisane jako „ipv6-sspi-spnego-winssl” (jeden dla x86 i jeden dla x64): curl -V wykazywał IPv6. Uważaj więc, który pakiet pobierasz.
źródło