第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

內(nèi)容長度在 Curl、Wget 中可用,但在 Python 請(qǐng)求中不可用

內(nèi)容長度在 Curl、Wget 中可用,但在 Python 請(qǐng)求中不可用

猛跑小豬 2022-08-02 16:07:09
我有一個(gè)指向二進(jìn)制文件的URL,我需要在檢查其大小后下載,因?yàn)橹挥挟?dāng)本地文件大小與遠(yuǎn)程文件大小不同時(shí),才應(yīng)(重新)執(zhí)行下載。這是它的工作原理(匿名主機(jī)名和IP):wget$ wget <URL>--2020-02-17 11:09:18--  <URL>Resolving <URL> (<host>)... <IP>Connecting to <host> (<host>)|<ip>|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 31581872 (30M) [application/x-gzip]Saving to: ‘[...]’這也適用于該標(biāo)志以恢復(fù)下載,包括跳過之前完全下載的文件。--continue我可以做同樣的事情,也存在:curlcontent-length$ curl -I <url>HTTP/2 200 date: Mon, 17 Feb 2020 13:11:55 GMTserver: Apache/2.4.25 (Debian)strict-transport-security: max-age=15768000last-modified: Fri, 14 Feb 2020 15:42:29 GMTetag: "[...]"accept-ranges: bytescontent-length: 31581872vary: Accept-Encodingcontent-type: application/x-gzip在Python中,我嘗試通過使用請(qǐng)求庫檢查標(biāo)頭來實(shí)現(xiàn)相同的邏輯:Content-length        with requests.get(url, stream=True) as response:            total_size = int(response.headers.get("Content-length"))            if not response.ok:                logger.error(                    f"Error {response.status_code} when downloading file from {url}"                )            elif os.path.exists(file) and os.stat(file).st_size == total_size:                logger.info(f"File '{file}' already exists, skipping download.")            else:這個(gè)邏輯對(duì)于其他URL來說工作正常,即我確實(shí)得到了標(biāo)題。Content-length當(dāng)使用(省略)時(shí),我得到相同的標(biāo)頭,除了.requests.head(url)stream=TrueTransfer-Encoding我知道服務(wù)器不必發(fā)送標(biāo)頭。但是,顯然確實(shí)得到了該標(biāo)頭。它們與我的Python實(shí)現(xiàn)有什么不同?Content-lengthwgetcurl
查看完整描述

1 回答

?
婷婷同學(xué)_

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊

這不是對(duì)缺少標(biāo)頭的問題的真正答案,而是對(duì)潛在問題的解決方案:Content-length

我沒有檢查本地文件大小與遠(yuǎn)程內(nèi)容長度,而是檢查了標(biāo)頭并將其與本地文件進(jìn)行比較。在(不太可能)遠(yuǎn)程文件已更新但仍具有完全相同大小的情況下,這也更安全。Last-modifiedmtime


查看完整回答
反對(duì) 回復(fù) 2022-08-02
  • 1 回答
  • 0 關(guān)注
  • 202 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)