概要
emacs 上で curl 的なことがしたい場合は request パッケージが使えます
環境
- macOS 11.5.2
- emacs 27.2
- request 20210816.200
request のインストール
- M-x package-list-packages
- request を選択してインストール
.emacs 編集
動作確認は .emacs にリクエストを書いて行います
あとはバッファで eval-buffer します
GET
レスポンスは data に入ってきます
json-read を使うことで JSON レスポンスをパースしてくれます
assoc-default で指定したキー (params) の値を取得して表示しています
(require 'request)
(request "https://kaka-request-dumper.herokuapp.com/"
:params '(("key" . "value") ("key2" . "value2"))
:parser 'json-read
:success (cl-function
(lambda (&key data &allow-other-keys)
(message "I sent: %S" (assoc-default 'params data)))))
POST
JSON を POST する場合は headers を設定すれば OK です
(require 'request)
(request "https://kaka-request-dumper.herokuapp.com/"
:type "POST"
:headers '(("Content-Type" . "application/json"))
:data (json-encode '(("name" . "hawksnowlog") ("age" . "20")))
:parser 'json-read
:success (cl-function
(lambda (&key data &allow-other-keys)
(message "I sent: %S" (assoc-default 'body data)))))
最後に
外部からデータを取得したりするときに使えます
SDK などのパッケージを作るときには重宝するかもしれません
0 件のコメント:
コメントを投稿