python / python/cpython

urllib.request.urlopen hangs for multiple minutes with timeout=30 and works with timeout=1

未关闭
#125,049 7 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

stdlib type-bug
主要语言
Python
星标
77.2k
派生
36k
PR 合并指标
PR 指标待抓取

描述

Bug report

Bug description:
import urllib.request
urllib.request.urlopen(urllib.request.Request("https://pypi.org/pypi/MozPhab/json"), timeout=30)

Somehow this hangs, and Control+C doesn't stop it. The same URL loads instantly on Firefox and Node.js. Any help to investigate this further will be appreciated. (Could be related to #95838, except I don't have any VPN on this machine.)

Coming from https://bugzilla.mozilla.org/show_bug.cgi?id=1919884.

CPython versions tested on:

3.12

Operating systems tested on:

Windows

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先,在使用 Python 3.12 的 Windows 上,使用针对 pypi.org URL 的 Request 重现 urllib.request.urlopen 调用,并比较 timeout=30 与 timeout=1。阅读相关 issue #95838,调查请求在哪个环节停止响应;当长时间挂起得到解释,并且报告的行为已修复或明确缩小范围时,即视为完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
networking
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。