我正在尝试以编程方式从this rss feed下载mp3文件。 当我打开一个网址,例如:http://menlochurch.podbean.com/mf/feed/5gv2gb/170219_jortberg.mp3 它会重定向到以下网址:http://s62.podbean.com/pb/67f34563539acbe87b9566ecc5738d57/58aeff8e/data4/fs145/948579/uploads/170219_jortberg.mp3
如果我curl
第一个网址,则会下载一个空文件。
如果我curl -L
第一个网址,它会正确下载该文件。
如果我curl
第二个网址,它会正确下载该文件。
如果我是slurp
Clojure中的第一个网址,它下载的内容看起来像一个mp3(很大且没有清晰的文字),但是无法播放,与curl -L
的输出不一样。< / p>
如果我slurp
Clojure中的第二个网址,它还会下载一些看似mp3的内容(很大且没有清晰的文字),但是无法播放,与curl -L
的输出不一样与前一个slurp
的输出相同。
➜ ~ git:(master) ✗ ls -l *.mp3
-rw-r--r-- 1 adam adam 38038533 Feb 23 08:32 curl-url1.mp3
-rw-r--r-- 1 adam adam 38038533 Feb 23 08:37 curl-url2.mp3
-rw-r--r-- 1 adam adam 0 Feb 23 08:45 curl-without-L.mp3
-rw-r--r-- 1 adam adam 67144297 Feb 23 08:31 slurp-url1.mp3
-rw-r--r-- 1 adam adam 67144297 Feb 23 08:31 slurp-url2.mp3
你可以看到我正在啜饮的东西,几乎是我卷曲的两倍。
我不知道该怎么做,我是否在不恰当的背景下使用slurp
?任何建议将不胜感激!
答案 0 :(得分:4)
slurp
用于字符串,因此无法使用二进制数据。
user=> (doc slurp)
-------------------------
clojure.core/slurp
([f & opts])
Opens a reader on f and reads all its contents, returning a string.
See clojure.java.io/reader for a complete list of supported arguments.