Я пишу некоторый код Elisp, который загружает файлы с помощью url-copy-file
, и большую часть времени он отлично работает, но иногда содержимое файла в конечном итоге является заголовком http, например. загруженный файл имеет следующее содержание:Elisp `url-copy-file` иногда скачивает мусор?
HTTP/1.1 200 OK Server: GitHub.com Date: Thu, 14 Nov 2013 20:54:41 GMT Content-Type: text/plain; charset=utf-8 Transfer-Encoding: chunked Status: 200 OK Strict-Transport-Security: max-age=31536000 X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff X-UA-Compatible: chrome=1 Access-Control-Allow-Origin: https://render.github.com
Или иногда добавляются к концу иначе правильно загруженный файл следующее:
0 - Peer has closed the GnuTLS connection
Однако, когда эти вещи происходят, видимо функция return just fine, поэтому мне не удалось проверить, действительно ли файл загружен. Есть ли более надежный способ загрузки файла в elisp (без обхода в wget/curl/whatever)?
Что делать, если вы пытаетесь 'URL-retrieve' ? Кажется, это функция нижнего уровня для выполнения того же самого. 'url-copy-file' пытается обслуживать разных абонентов (пытается угадать их косвенно, наличием определенных артефактов) и может запутаться. –
@wvxvw 'url-retrieve' также разделяет эту проблему. –
Это не известная проблема, поэтому, пожалуйста, 'M-x report-emacs-bug', чтобы попытаться помочь нам отследить ее и убить bugger. – Stefan