1

我正在使用 el-get 并未能 el-get-install color-theme。经过一番研究,我发现color-theme-6.6.0.tar.gzel-get 下载的文件不完整。使用 el-get下载的文件124853大小为 ,124858如果文件是由 wget 下载的,则大小为 。

然后我发现 el-get 正在使用 url-retrieve 来下载包。所以我在*scratch*缓冲区中评估了这段代码。

(url-retrieve
 "http://download.savannah.gnu.org/releases/color-theme/color-theme-6.6.0.tar.gz"
 (lambda (s)
   (write-file "/home/jxq/data/tmp")))

该文件/home/jxq/data/tmp现在包含 http 标头和正文。http header 的长度为279,整体大小为125132. 所以它检索到的 tar.gz 的文件大小是124853. 丢失的 5 个字节在哪里?

这是 url-retrieve 中的错误还是我使用不正确?

4

1 回答 1

3

在编写之前,您需要跳过 HTTP 标头(文档称它们为“MIME 标头”):

(url-retrieve
 "http://download.savannah.gnu.org/releases/color-theme/color-theme-6.6.0.tar.gz"
 (lambda (s)
   (re-search-forward "\r?\n\r?\n")
   (write-region (point) (point-max) "/tmp/bla")))

此版本保存的内容与 Wget 相同。

于 2013-03-23T10:41:32.217 回答