经过测试,上述命令 curl --ipv4 http://example.com 确实会通过 IPv4 地址进行网络请求(假设目标服务器支持 IPv4)。如果请求成功,说明该命令正确使用了 IPv4。 总结来说,要使用 curl 命令通过 IPv4 进行网络请求,只需在命令中添加 --ipv4 选项即可。例如: bash curl --ipv4 http://example.com ...
docker服务器上经常有程序绑定到tcp6端口监听,即ipv6地址。 导致curl -v url 无法访问服务。表现为尝试ipv6方式解析url但是找不到地址(比如hosts文件里的内容是误导的) 所以必须使用 curl -4 -v url 来访问服务! -4 即表示 使用ipv4
通过curl 命令获取公网 IPv4 和 IPv6 地址,还可以返回是 IPv4 还是 IPv6 访问优先。 #1. 查询本机外网IPv4地址 curl 4.imotao.com ## 返回示例 192.168.*.* 查询本机外网IPv6地址 curl 6.imotao.com ## 返回示例 2408:824c:200::2b8b:336f:cc9c #3. 测试网络是IPv4还是IPv6访问优先 访问IPv4/IP...
这个问题的根本原因是ipv4与ipv6冲突导致的,见https://aarvik.dk/disable-ipv6/,如果使用相同的端口/套接字,会导致域名解析非常的慢。 我试了一下百度,在问题解决之前,我curl百度要6s左右,在解决之后,我curl百度一般在1s内就会返回结果。 问题解决后,执行getGEO的时间在5秒左右,少于报错的10s,自然就没有问题...
docker服务器上经常有程序绑定到tcp6端口监听,即ipv6地址。 导致curl -v url 无法访问服务。表现为尝试ipv6方式解析url但是找不到地址(比如hosts文件里的内容是误导的) 所以必须使用 curl -4 -v url 来访问服务! -4 即表示 使用ipv4