hak*_*8or 41 ipv6 localhost loopback curl
我尝试了几种方法,但它们似乎使 curl 令人困惑。
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
Run Code Online (Sandbox Code Playgroud)
Gia*_*968 58
查看此博客文章中的建议和常见错误分类,也许您应该尝试一下。
curl -g -6 "http://[::1]:8080/"
Run Code Online (Sandbox Code Playgroud)
这-g似乎是让这项工作发挥作用的神奇钥匙。如curl手册页所述:
此选项关闭“URL globbing parser”。设置此选项时,您可以指定包含字母 {}[] 的 URL,而无需 curl 本身对其进行解释。请注意,这些字母不是正常的合法 URL 内容,但应根据 URI 标准进行编码。
以及-6仅使用 IPv6 的方法:
如果 libcurl 能够将地址解析为多个 IP 版本(如果它支持 IPv6),则此选项告诉 libcurl 仅将名称解析为 IPv6 地址。
但是阅读该功能描述,-6对于纯 IPv6 地址似乎并不真正需要;仅当使用curl具有 IPv4 和 IPv6 地址连接的主机名时,它才会更喜欢 IPv6。只是有一点需要注意。
从“curl --manual”,我发现了这个:
curl -g "http://[2001:1890:1112:1::20]/"
Run Code Online (Sandbox Code Playgroud)
或者
curl "http://[2001:1890:1112:1::20]/"
Run Code Online (Sandbox Code Playgroud)
因此,对于您询问的地址,请尝试:
curl -g "http://[::1]:8080/"
Run Code Online (Sandbox Code Playgroud)
但是,您可能想要运行:
curl -V
Run Code Online (Sandbox Code Playgroud)
并查看 IPv6 是否出现在“功能”行(第三行,不包括自动换行的额外行)。我发现我的版本没有。 cURL 下载页面有各种操作系统链接,包括用于 Microsoft Windows 的curl 7.41.0 下载站点(目前是最新版本)。该页面有多个可执行文件(适用于 Microsoft Windows);我发现的第一个不支持 IPv6。但是两个描述为“ipv6-sspi-spnego-winssl”(一个用于x86,一个用于x64)确实:curl -V 确实显示了 IPv6。所以要小心你下载的包。
| 归档时间: |
|
| 查看次数: |
82674 次 |
| 最近记录: |