- http 20170603.1107(in MELPA)
- Yet another HTTP client
概要
去年は『Rubyによるクローラー開発技法』(共著) を出版し、
お蔭様で大好評となっています。
買ってくださった方々、本当にありがとうございます。
Webアクセスを自動化したい、
クローラーを作りたい
そういった場合はまずHTTPリクエストとレスポンスを調査する必要があります。
さて、今回紹介する http.el は対話型HTTPクライアントです。
バッファ(ファイル)に1つ以上のHTTPリクエストを書いて送信すると
別バッファにてレスポンスが表示されます。
使い方はたった3ステップです。
- HTTPリクエストを書く
- M-x http-mode
- C-c C-cで送信!
なお、使用例で使っている https://httpbin.org/ は
HTTPクライアント開発のためのサイトで
手軽にPOSTリクエストをテストできます。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。
(package-initialize) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/")))
初めてhttpを使う方は
以下のコマンドを実行します。
M-x package-install http
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name http
使用例
misc/example.txtより抜粋!
一番上に「# -*- http -*-」と書くことで、
そのファイルを再び開いたときは自動的にhttp-modeになります。
# -*- http -*- # はコメント # GETリクエストは単純に1行でよい # ## 自分のIPアドレス GET https://httpbin.org/ip ## xmlを表示する GET https://httpbin.org/xml ## ヘッダをつける POST https://httpbin.org/post?foo=bar User-Agent: Emacs24 ## POSTリクエスト # ヘッダとデータの間には空行を入れる POST https://httpbin.org/post?val=key User-Agent: Emacs24 Content-Type: application/json { "foo": "bar" }
一番下のPOSTリクエストを実行すると
{ "url": "https:\/\/httpbin.org\/post?val=key", "origin": "1.23.45.67", "json": { "foo": "bar" }, "headers": { "User-Agent": "Emacs24", "Host": "httpbin.org", "Content-Type": "application\/json", "Content-Length": "21", "Accept-Encoding": "deflate, gzip", "Accept": "*\/*" }, "form": null, "files": null, "data": "\n{\n \"foo\": \"bar\"\n}\n\n", "args": { "val": "key" } } // HTTP/1.1 200 OK // Server: nginx // Date: Thu, 21 May 2015 01:24:00 GMT // Content-Type: application/json // Content-Length: 435 // Connection: keep-alive // Access-Control-Allow-Origin: * // Access-Control-Allow-Credentials: true
と出てきます。
本サイト内の関連パッケージ
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。