2013-11-15 3 views
2

Я пишу некоторый код 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)?

+0

Что делать, если вы пытаетесь 'URL-retrieve' ? Кажется, это функция нижнего уровня для выполнения того же самого. 'url-copy-file' пытается обслуживать разных абонентов (пытается угадать их косвенно, наличием определенных артефактов) и может запутаться. –

+0

@wvxvw 'url-retrieve' также разделяет эту проблему. –

+0

Это не известная проблема, поэтому, пожалуйста, 'M-x report-emacs-bug', чтобы попытаться помочь нам отследить ее и убить bugger. – Stefan

ответ

0

В соответствии с рекомендациями, я сообщил об этом как об ошибке: lists.gnu.org/archive/html/bug-gnu-emacs/2013-11/msg00758.html

Смежные вопросы