Linux
如何從命令行下載數據 URL?
我只通過瀏覽器控制台找到了執行此操作的 JavaScript 程式碼。
例如,如果我從 Google 圖片搜尋結果網格的第一張圖片中復製圖片地址,我會得到一個數據 URL。
我嘗試過的命令和錯誤:
$ curl 'data:stuff' -o filename **curl: (3) URL 使用錯誤/非法格式或缺少 URL**
$ curl 'data:stuff' > 文件名 **curl: (3) URL 使用錯誤/非法格式或缺少 URL**
$ wget 'data:stuff' -O filename **解析數據(數據)...失敗:名稱或服務未知。 wget:無法解析主機地址“數據”**
如何通過命令行下載數據 URL?
該
data:
方案在網頁上下文中是本地的,而兩者都wget
可以curl
處理遠端數據。也許您真正要尋找的是base64 -d
允許解碼此類數據的方法。最後,數據 URI 方案可能比您的 shell 允許的更長/更大,請參閱:https ://stackoverflow.com/a/41755526 ,我懷疑您是否希望在 shell 歷史記錄中保留這麼多隨機數據。
在Artem的答案中添加一點。
您可以通過包管理器下載 xclip 並使用 shell 腳本(您應該複製數據 URL):
#! /usr/bin/bash data=$(xclip -out -selection clipboard) ext=${data#*/} ext=${ext%%;*} ext=${ext/jpeg/jpg} if [ $1 ]; then filename=$1 else filename=file fi echo "${data#*,}" | base64 -d > $filename.$ext
沒有參數文件名被保存為文件,否則它是你的第一個參數。
編輯:改進的腳本——感謝弗雷迪的精彩評論。