help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Function to download a URL and return it as a string


From: Sean McAfee
Subject: Function to download a URL and return it as a string
Date: Sat, 08 Dec 2012 21:17:38 -0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.94 (darwin)

I recently wanted to be able to download a document from a URL and
return it as a string.  I couldn't find a function that did that
precisely, but I was able to construct my own:

(defun download (url)
  (with-current-buffer (url-retrieve-synchronously url)
    (prog2
        (when (not (search-forward-regexp "^$" nil t))
          (error "Unable to locate downloaded data"))
        (buffer-substring (1+ (point)) (point-max))
      (kill-buffer))))

This seems rather busy for such a basic-seeming operation--in
particular, having to take care to delete the buffer created by
url-retrieve-synchronously.  Is there a better way to do it?

(On the other hand, this way I get to use prog2, which I almost never
do.)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]