redballoon 发表于 2023-3-27 23:38

两种不同的请求有何差别

今天逛论坛时看到有种不常见的请求方法来下载东西: urllib.request.urlretrieve(url, filename=None, reporthook=None, data=None)


想问问大家这个跟常见的用 requests 方法比较有什么区别吗?谁比较好使?

redballoon 发表于 2023-3-28 00:11

哦,urllib.request.urlretrieve是分段下载保存的,程序执行一半就算退出了也能有东西保存下来(下载音乐时程序退出,也能保存那以下载好的部分音乐),不像用requests来下载,没有完全下载下来就退出程序是不会保存的。

xhping 发表于 2023-3-28 04:45

问题是你问的,答案又是你回答的,莫名其妙
感谢你,奇怪的知识又增加了!

爱飞的猫 发表于 2023-3-28 06:52

> 程序执行一半就算退出了也能有东西保存下来

但是没有校验,如果是下载到一半崩溃了,你怎么知道你已经下载的那部分是正确的

redballoon 发表于 2023-3-28 11:03

本帖最后由 redballoon 于 2023-3-28 11:05 编辑

爱飞的猫 发表于 2023-3-28 06:52
> 程序执行一半就算退出了也能有东西保存下来

但是没有校验,如果是下载到一半崩溃了,你怎么知道你已经 ...
应该不会吧,至少同步的执行下载是正确的,多线程的话会不会乱我就没试过了

爱飞的猫 发表于 2023-3-29 03:16

redballoon 发表于 2023-3-28 11:03
应该不会吧,至少同步的执行下载是正确的,多线程的话会不会乱我就没试过了

不是多线程的问题,而是下载到一半的时候发生意外(如网络连接)中断后重新下载的情况

lijialong1313 发表于 2023-3-30 16:28

requests不是没保存,是扔在缓存区,而且好像是顺序下载的。
页: [1]
查看完整版本: 两种不同的请求有何差别