Python requests.get() 仅在添加超时时响应
Python requests.get() only responds if adding a time out
我刚刚安装了新的 Raspberry OS,现在我在 Python 中的大多数页面都没有收到 requests.get() 响应,它只是卡住了,没有响应(有趣的是,https://www.w3schools.com/python/module_requests.asp works, but https://google.com 上示例中的地址没有)。令人惊讶的是,使用参数 timeout=n 它会在大约 n 秒后起作用。但是,通过添加超时或一些额外的代码来修复错误并不方便,因为我使用了一些依赖 requests.get 的模块并手动修复它们并不是最好的解决方案。
有人知道为什么现在需要添加超时吗?当我使用旧的 Raspbian OS 时,同一台设备上的完全相同的脚本就可以正常工作。
import requests
x = requests.get('https://w3schools.com/python/demopage.htm')
有效,
import requests
x = requests.get('https://google.com')
不会 - 它永远不会 returns。
导入请求
x = requests.get('https://google.com', timeout=1)
returns 1 秒后。
我认为这与某些 IPv6 问题有关 - 超时强制使用 IPv4?在路由器菜单中禁用 IPv6 就可以了。
我刚刚安装了新的 Raspberry OS,现在我在 Python 中的大多数页面都没有收到 requests.get() 响应,它只是卡住了,没有响应(有趣的是,https://www.w3schools.com/python/module_requests.asp works, but https://google.com 上示例中的地址没有)。令人惊讶的是,使用参数 timeout=n 它会在大约 n 秒后起作用。但是,通过添加超时或一些额外的代码来修复错误并不方便,因为我使用了一些依赖 requests.get 的模块并手动修复它们并不是最好的解决方案。 有人知道为什么现在需要添加超时吗?当我使用旧的 Raspbian OS 时,同一台设备上的完全相同的脚本就可以正常工作。
import requests
x = requests.get('https://w3schools.com/python/demopage.htm')
有效,
import requests
x = requests.get('https://google.com')
不会 - 它永远不会 returns。
导入请求
x = requests.get('https://google.com', timeout=1)
returns 1 秒后。
我认为这与某些 IPv6 问题有关 - 超时强制使用 IPv4?在路由器菜单中禁用 IPv6 就可以了。