Eu tentei algumas maneiras, mas elas parecem ser confusas.
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
Respostas:
Olhando para as sugestões - e quebra de erros comuns - neste post de blog talvez você deva tentar isso.
o
-g
parece ser a chave mágica para que isso funcione. Como explicado nocurl
página man:E a
-6
significa usar apenas IPv6:Mas lendo essa descrição de funcionalidade, parece que
-6
não é realmente necessário para um endereço IPv6 puro; somente se alguém estiver usandocurl
em um nome de host que tenha um endereço IPv4 e IPv6 conectado a ele, então prefere o IPv6. Apenas algo para anotar.fonte
OSX 10.13.3
: Isso funciona:$ curl "http://localhost:50710/file1.txt"
e isso não$ curl -g -6 "http://[::1]:50710/file1.txt"
curl: (7) Falha ao conectar-se a :: 1 porta 50710: Conexão recusada . E$ curl -V
mostraIPv6
como um recurso (curl 7.58.0). Minhas/etc/hosts
listas de arquivos:::1 localhost
0.0.0.0.0.0.0.1
Posso simplesmente fazercurl "http://[::1]:50710/file1.txt"
. Se eu adicionar um-v
opção para saída detalhada, vejo na saída: Tentando :: 1 ... * TCP_NODELAY set * Conectado a :: 1 (:: 1) porta 52489 (# 0) - Por alguma razão, não precisei do-g
opção.curl -v "http://localhost:52489/file1.txt"
. Na saída, vejo: Tentando :: 1 ... * TCP_NODELAY set * Conectado à porta localhost (:: 1) 52489 (# 0) - Ah, eu acho que é porque meu/etc/hosts
arquivo resolve o nome "localhost" para um endereço ipv4 e ipv6. E se eu tentarcurl -v "http://127.0.0.1:52489/file1.txt"
então eu recebo um erro de conexão recusada.0.0.0.0.0.0.0.1
Você não tem a menor ideia do que está falando. Eu sugiro escrever uma nova pergunta explicando tudo o que você explica nesses comentários e ver se alguém pode ajudá-lo. Consulte esta resposta se desejar. Mas se você pensa0.0.0.0.0.0.0.1
é um endereço IPv6 válido que você já está em péssimo estado.De "curl --manual", encontrei isto:
ou
Então, para o endereço que você está perguntando, tente:
No entanto, você pode querer executar:
e veja se o IPv6 aparece na linha que diz "Recursos" (a terceira linha, sem contar as linhas extras da quebra de linha). Eu encontrei a minha versão não. Página de download do cURL possui vários links para sistemas operacionais, incluindo curl 7.41.0 site de download (que é atualmente a versão mais recente) para o Microsoft Windows. Essa página tem vários executáveis (disponíveis para o Microsoft Windows); o primeiro que encontrei não suportou o IPv6. Mas os dois descritos como "ipv6-sspi-spnego-winssl" (um para x86 e um para x64) fizeram: curl -V mostrou IPv6. Portanto, tenha cuidado com o pacote que você baixou.
fonte