請問curl抓檔案會否造成檔案被變動 - Linux

Table of Contents

小弟目前正在做的事情

是先對Android模擬器安裝一個舊版的apk(這邊給他一個名字叫A15.apk好了)

然後我會去另一個web site抓下最新版的apk(叫他A20.apk)

用adb install -r的方式對這個apk做upgrade


由於另一個web site也是小弟這邊可以存取的

所以我試過,直接從web site上抓到的A20.apk,可以成功的在模擬器上upgrade


問題在於說,我要用script讓他去自動做這個動作

script裡面是這樣寫的

curl -k -v -X GET -u "USER:PWD" ${APKURL} -o ${APKPATH}

抓下來的apk(做個區分叫他A20NG.apk),就是會upgrade失敗

會報INSTALL_FAILED_UPDATE_INCOMPATIBLE的錯誤


我比對了A20.apk/A20NG.apk的checksum, checksum都不一樣了

感覺curl之後檔案被改掉了

但A20NG.apk如果單獨install是可以裝上去的,獨獨就是不能做upgrade

我把curl的-k, -v, -X GET參數都拔掉試過,也不行


小弟對linux command不慎專精, google過這部分, 沒有找到答案

有沒有大大知道,curl下來的檔案,是不是有什麼部分會被變動到?

又要怎麼樣讓他不會被變動呢

--
月光皎潔,卻照不亮我的夜空
星光燦爛,卻映不出妳的面容
日光耀眼,卻不見妳的芳心飄落何方
燭光搖曳,卻投影不了濕滿胸襟的,我的淚痕。

--

All Comments

Michael avatarMichael2016-10-18
curl file.apk|sha1sum 啥參數都不加算checksum也會
有問題?那如果改用wget呢?
Tom avatarTom2016-10-18
agent 不對回傳錯誤的結果很正常喔,您可以用 file 命令
檢查檔案的格式是否不同
Lily avatarLily2016-10-23
是動態產生apk的嗎 會不會每次的checksum都不一樣
也可以unzip一下看到底是哪邊不一樣
Cara avatarCara2016-10-24
或者在SOURCE那邊先壓縮,抓回來再解呢?
Hamiltion avatarHamiltion2016-10-26
這邊的 agent 是瀏覽器的意思,curl 也算是一種瀏覽器
Ula avatarUla2016-10-31
agent 是 http client 送出的 user-agent 欄位
web server 通常是用這欄來抓 http client 是哪一個