Я попробовал несколько способов, но они, кажется, запутывают завиток.
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
Ответы:
Глядя на предложения - и разбивку распространенных ошибок - в этом сообщении в блоге , возможно, вам следует попробовать это.
-g
Кажется волшебный ключ , чтобы получить эту работу. Как объяснено наcurl
странице руководства :И
-6
средства для использования только IPv6:Но, читая это описание функциональности, кажется, что
-6
он не нужен для чистого IPv6-адреса; только если используетсяcurl
имя хоста, к которому подключены адреса IPv4 и IPv6, поэтому он предпочтет IPv6. Просто кое-что отметить.источник
OSX 10.13.3
: Это работает:$ curl "http://localhost:50710/file1.txt"
и это не$ curl -g -6 "http://[::1]:50710/file1.txt"
скручивается: (7) Не удалось подключиться к порту :: 1 50710: Соединение отклонено . И$ curl -V
показываетIPv6
как особенность (curl 7.58.0). Мои/etc/hosts
списки файлов:::1 localhost
0.0.0.0.0.0.0.1
я могу просто сделатьcurl "http://[::1]:50710/file1.txt"
. Если я добавлю-v
опцию для подробного вывода, я увижу в выводе: Trying :: 1 ... * TCP_NODELAY set * Подключен к :: 1 (:: 1) порту 52489 (# 0) - По какой-то причине я не сделал Мне не нужна-g
опцияcurl -v "http://localhost:52489/file1.txt"
. В выводе я вижу: Trying :: 1 ... * TCP_NODELAY set * Подключен к локальному хосту (:: 1) порт 52489 (# 0) - Ах, я думаю, это потому, что мой/etc/hosts
файл разрешает имя "localhost" для обоих IPV4 и IPV6 адрес. И если я попытаюсь:curl -v "http://127.0.0.1:52489/file1.txt"
тогда я получаю сообщение об отказе в соединении.0.0.0.0.0.0.0.1
. Вы серьезно не представляете, о чем говорите. Я предлагаю написать новый вопрос, объясняющий все, что вы объясняете в этих комментариях, и посмотреть, сможет ли кто-нибудь вам помочь. Обратитесь к этому ответу, если хотите. Но если вы считаете0.0.0.0.0.0.0.1
действительный адрес IPv6, у вас уже плохое состояние.Из "curl --manual" я нашел это:
или
Итак, для адреса, о котором вы спрашиваете, попробуйте:
Тем не менее, вы можете запустить:
и посмотрите, отображается ли IPv6 в строке с надписью «Features» (третья строка, не считая лишних строк из переноса слов). Я нашел, что моя версия не. Страница загрузки cURL содержит различные ссылки на операционные системы, включая сайт загрузки curl 7.41.0 (который в настоящее время является последней версией) для Microsoft Windows. Эта страница имеет несколько исполняемых файлов (доступно для Microsoft Windows); первый, который я нашел, не поддерживал IPv6. Но два, описанных как «ipv6-sspi-spnego-winssl» (один для x86 и один для x64), сделали: curl -V действительно показал IPv6. Так что будьте осторожны с тем, какой пакет вы загружаете.
источник