vdeep

*

vdeepはプログラミング、IT、Web技術、ライフハックの事などなどを管理人okutaniがつぶやくブログです

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

      2017/01/31

LINEで送る
Pocket

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リクエストは、保存してまとめておけば再利用できて便利ですね。

LINEで送る
Pocket

okutani (okutani_t) のヒトコト
自分はEmacsもサーバー通信もまだまだ勉強中の身。るびきち先生のサイトをみて日々勉強であります。Emacsって楽しいよねぇ。

Web開発のお仕事を募集しています

フリーランスのエンジニアとして、Webシステム開発のお仕事依頼を随時募集しています(現在の業務量によってお受けできない場合もあります)。

Ruby on Rails」「JavaScript(jQuery, Reactなど)」「HTML + CSS」を用いたシステム開発、「Heroku」等を用いたサーバー構築・運用、「Git」や「GitHub」を利用したソーシャルコーディングなどに対応しています。

ご依頼を検討している方は、下記リンク本ブログからのお問い合わせ、もしくはokutaniのポートフォリオからご連絡ください。

LINKお問い合わせ

LINKokutani's Portfolio


 - Emacs

スポンサーリンク

PC用AdSense

PC用AdSense

  こちらもどうぞ

vdeepのトップページへ戻る画像です。風船の形をした島を女の子が掴んでいます。