Quantcast
Channel: vdeep
Viewing all articles
Browse latest Browse all 155

Emacsでhttp.elを使ってGET・POST通信のテストを行う

$
0
0

emacs-httpel
こんにちは、okutani(@okutani_t)です。最近、サーバー通信周りをいじる機会があり、手軽にHTTP通信を行うツールをいろいろと調べていました。

私は普段Emacsを使っているので、Emacs上でHTTP通信が確認できたら便利だなー、と思っていたらありました。その名も「http.el」という代物。

HTTPリクエストをちょろっと書いて「C-c C-c」するだけで、とってもかんたんにGET・POSTリクエストができる便利な拡張機能です。

Emacsを使っている人で知らない人はいないであろう、るびきち先生の日刊Emacsで紹介されているパッケージですので間違いないはないですね。ちなみに、るびきち先生のhttp.el記事は下記リンクです。

参考emacs http.el : 【HTTPクライアント】バッファからHTTPリクエストを対話的に送る | MELPA Emacs Lisp Elisp パッケージ インストール 設定 使い方 | るびきち「日刊Emacs」

上記の記事もぜひ参考にしてみてください。

では、さっそくhttp.elを使ってGET・POST通信を行ってみましょう。

スポンサーリンク

http.elのインストール

http.elはmelpaにあります。package.elを利用してインストールします。

M-x package-list-packages

httpをインクリメンタルサーチ、「i」キー→「x」キーでインストール。

emacs-httpel

これでhttp.elがインストールできました。

http.elの利用方法

では、http.elの使い方をみていきましょう。今回は「httpbin.org」という、HTTP通信を手軽にチェックできる便利なサイトを利用していきます。

かんたんな使い方は、下記のhttpbin.orgで確認してみると良いです。

LINKhttpbin(1): HTTP Client Testing Service

emacs-httpel2

今回、GET・POST通信先をhttpbin.orgに設定して利用します。httpbin.orgについての説明はここでは特に行いませんので、興味がある人は適宜ぐぐってみてください。

ではEmacsで適当にバッファを開き、「M-x http-mode」としてhttp modeにしておきましょう。これでhttp.elを利用する準備は完了です。

まずはGETリクエストを送信してみます。

GET通信を行う方法

下記をバッファに記述します。

# -*- http -*-
# はコメント
# GETリクエストは単純に1行でOK
# 
## 自分のIPアドレスが返ってくるリクエスト
GET https://httpbin.org/ip

一行目の「# -*- http -*-」は、次開いたとき自動でhttp-modeにしてくれる記述です。

「GET https://httpbin.org/ip」では、httpbin.org/ipに対してGET通信を実行しています。httpbin.orgサイトで確認すると分かりますが、末尾にipをつけることで、自分自身のIPアドレスがreturnされます。

では、「C-c C-c」としてGETリクエストを送ってみましょう。

GET実行結果

実行すると、次のように結果が返ってきます。

emacs-httpel3

無事に自分自身のIPアドレスが返ってきていることが確認できました。かなりお手軽にGET通信を行うことができましたね。

次は、POST通信を試してみましょう。

POST通信を行う

POST通信の場合は、下記のとおりバッファに記述します。

# -*- http -*-
# 
## ヘッダーをつけてPOSTリクエスト
# ヘッダとデータの間には空行を入れる
POST https://httpbin.org/post?val=key
User-Agent: Emacs24
Content-Type: application/json

{
  "hoge": "piyo"
}

上記ではContent-Typeにjsonを指定、hoge・piyoをPOSTで送っています。

では「C-c C-c」で実行してみましょう。

POST実行結果

POST通信の結果を確認してみます。

emacs-httpel4

無事にjson形式でデータを受け取ることができました。

これでわざわざPHPやruby等でhttp通信のコードを書いて確かめる、なんてことをしなくて済みますね。ぜひ、HTTP通信を行うときの参考にしてください。

まとめ

http.elでちょっとしたHTTP通信の確認をスムーズに行うことができました。

バッファに記述したHTTPリクエストは、保存してまとめておけば再利用できて便利ですね。


Viewing all articles
Browse latest Browse all 155

Trending Articles