Yo uso url-retrieve-synchronously
para descargar un archivo JSON desde un servidor remoto. Esta función devuelve un búfer que contiene todo el contenido de la respuesta, incluidos los encabezados HTTP. Sin embargo, solo estoy interesado en el cuerpo.
Ahora, antes de analizar una respuesta HTTP manualmente, ¿cómo puedo saltar al comienzo del cuerpo? He encontrado la variable url-http-end-of-headers
, que funciona, pero no está documentada en absoluto, y usarla se siente "sucia". ¿Existe una API adecuada para este propósito?
url-http-end-of-headers
es preferible a este enfoque. Realmente esperaba algourl-http-goto-body
así :(Una alternativa de nivel superior al uso
url-http-end-of-headers
, pero igualmente indocumentada, esurl-insert-file-contents
:o equivalente, antes de Emacs 27 compilado con soporte nativo de JSON:
Estos resultan en:
La función
url-insert-file-contents
envuelve las funciones mejor documentadosurl-insert-buffer-contents
yurl-insert
por lo que viene con los siguientes extras:url-http-response-status
.FWIW, también viene con la garantía de ser utilizado por
lisp/emacs-lisp/package.el
.fuente