Python 的 http 请求疑惑

238 天前
 jianyang

我的 python 版本是 3.11.1, 用 requests 或者 httpx 做 http 请求时经常遇到 ssl 错误,忽略证书验证就会提示一大串警告,或者就是直接超时,正常时不可能超时的,不知道这个时间消耗在了哪里,不知道是不是还是 ssl 的问题,搞不懂 python 的 ssl 到底要怎么搞

不知道是个例还是大家都一样、还是需要配置哪里我没搞对

同样的地址和请求方式我用 GO 从来没遇到过超时和稀奇古怪的问题,没一点毛病

有时候临时写个小脚本想用 python 快速写一下,用完就删了,就会出现上面的毛病,本来很简单的事要搞好久,有时候还是用 GO 再重写一遍。。。

2272 次点击
所在节点    Python
28 条回复
julyclyde
237 天前
@sky96111 但是你刚才说的是“是程序 hang 住这个时间段曾经有切换代理的操“啊
julyclyde
237 天前
@sky96111 dnf 是 C++的吧? yum 才是 python 的
sky96111
237 天前
@julyclyde 还没正式发布的 dnf5 才是 c++,yum 是 dnf 的 alias ,都是 python
julyclyde
237 天前
@sky96111 我觉得你可能混淆了 yum3 和 yum4/dnf
yum3 是 python 的; yum4 是指向 C++的 dnf 的 alias
stonesirsir
237 天前
有 ipv6 吗?强制 ipv4 ?
julyclyde
237 天前
@sky96111 我查了一下资料,发现你说的情况以前确实是存在过的
所以我觉得提到 yum 、dnf 的时候确实有必要说一下版本

根据维基百科:
DNF was originally written in Python, but as of 2016 efforts were under way to port it to C and move most functionality from Python code into the new libdnf library.[12] In 2018, the DNF team announced the decision to move libdnf from C to C++.

在 RHEL8 之后,yum4 是 C++的 dnf 的别名;在 RHEL7 时代,yum 是一个纯 python 的东西,那时代 dnf 没有被引入
RHEL 应该是没有用过 python 版本的 dnf 吧?
sky96111
237 天前
@julyclyde 又查了一下,dnf 是纯 Python 的,但 dnf 底层使用的 libdnf 是 c++。
看起来我 dnf 卡住的问题和 Python http 请求的问题不是同一个
pursuer
236 天前
python 可以使用 faulthandler 排查问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/977909

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX