如何把 cURL 命令转换成 Emacs Lisp (url.el) 代码?

比如把 cURL 命令:

curl -H 'Authorization: Token ********** https://larder.io/api/1/@me/user/

或者 http request:

GET https://larder.io/api/1/@me/user/
Authorization: Token **********

转换成

(let ((url-request-extra-headers
       '(("Authorization" . "Token **********"))))
  (url-retrieve-synchronously url))

可能对那些不太熟悉 url.el 的人(比如我)有所帮助,POST 请求一般复杂不少。

1 个赞

不久之前实现了。本来以为不行的,不知道怎么 Parse Shell Script 命令,后来直接用了 Eshell 的 Parser 代码,虽然感觉它也太不靠谱。

2 个赞

不用再人肉解析从浏览器拷贝出来 cURL 请求命令了。

浏览器(如 Chorme)调试工具的「复制到 curl 命令」好像特别地规整:没有特殊的 Shell 语法、没有特殊的 curl 选项。无论是人看还是解析都比较友好。