首页 > 解决方案 > Python urllib.request.urlopen() 仅在给定“超时”参数时返回,否则永远冻结

问题描述

我在使用urllib.request.urlopen函数时遇到了一个奇怪的问题。当我在没有给出timeout参数的情况下调用函数时,它会永远冻结(或者真的很长时间),但是一旦我提供了timeout参数,例如。timeout = 1, 函数恰好在 的间隔之后返回,timeout没有任何问题。

如下图所示。(我使用的是Ipython提示符)

录屏问题场景

标签: pythonweburlliburlopen

解决方案


好吧,我发现这是一个 IPv6 问题,禁用它后,一切都恢复正常。


推荐阅读