发送数据localhost比127.0.0.1慢很多(win10 localhost 解析为::1 的解决办法)

启动一个tornado识别验证码服务,发送用
url = “http://127.0.0.1:19952/captcha/v1”
url = “http://localhost:19952/captcha/v1”
localhost要4秒钟,而127.0.0.1只要0.006秒钟,也就是几毫秒

发送数据localhost比127.0.0.1慢很多(win10 localhost 解析为::1 的解决办法)_第1张图片发送数据localhost比127.0.0.1慢很多(win10 localhost 解析为::1 的解决办法)_第2张图片
ping localhost解析出来的是IPV6的::1,原因是windows有个优先解析列表,当ipv6的优先级高于ipv4时,就会出现这种情况。
输入命令 netsh interface ipv6 show prefixpolicies,查询ipv6优先级

优先顺序    标签   前缀
----------  -----  --------------------------------
        50      0  ::1/128
        40      1  ::/0
        35      4  ::ffff:0:0/96
        30      2  2002::/16
         5      5  2001::/32
         3     13  fc00::/7
         1     11  fec0::/10
         1     12  3ffe::/16
         1      3  ::/96

请注意,IPv6地址(:: / 0)优先于IPv4地址(:: / 96,:: ffff:0:0/96),因此我们可以制定策略,使IPv6不会比任何IPv4地址有利。其中,标签表示优先级,0表示优先级最高,依次类推。

现在需要设置使::/96、::ffff:0:0/96的优先级高于::/0和::1/128,输入下列命令设置优先级:

netsh int ipv6 set prefix ::/96 50 0
netsh int ipv6 set prefix ::ffff:0:0/96 40 1
netsh int ipv6 set prefix 2002::/16 35 2
netsh int ipv6 set prefix 2001::/32 30 3
netsh int ipv6 set prefix ::1/128 10 4
netsh int ipv6 set prefix ::/0 5 5
netsh int ipv6 set prefix fc00::/7 3 13
netsh int ipv6 set prefix fec0::/10 1 11
netsh int ipv6 set prefix 3ffe::/16 1 12

你可能感兴趣的:(发送数据localhost比127.0.0.1慢很多(win10 localhost 解析为::1 的解决办法))