内容と仕様
スマホアプリの開発してるとHTTP通信のheaderやpost値を確認したくなることがたまにあるのでRubyで簡易Webサーバを立ち上げ、通信の中身を確認する
簡易Webサーバ
server.rb
# -*- coding: utf-8 -*-
IP = '0.0.0.0'
PORT = '8080'
DOC = './'
require 'webrick'
opts = {
:BindAddress => IP,
:Port => PORT,
:DocumentRoot => DOC,
}
server = WEBrick::HTTPServer.new(opts)
server.mount_proc("/") { |req, res|
res.body = req.to_s
}
#コマンドラインでCtrl+Cした場合止めるイベントハンドラ
Signal.trap(:INT){ server.shutdown}
#サーバースタート
server.start
サーバ起動
>ruby server.rb
[2015-10-09 11:36:25] INFO WEBrick 1.3.1
[2015-10-09 11:36:25] INFO ruby 2.2.3 (2015-08-18) [x86_64-darwin13]
[2015-10-09 11:36:25] INFO WEBrick::HTTPServer#start: pid=91225 port=8080
動作確認
■ curlでHTTP POSTの試験
>curl -F "name1=value1" -F "name2=value" http://localhost:8080/hoge/hoge
POST /hoge/hoge HTTP/1.1
User-Agent: curl/7.30.0
Host: localhost:8080
Accept: */*
Content-Length: 245
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------af153bdb71ef
------------------------------af153bdb71ef
Content-Disposition: form-data; name="name1"
value1
------------------------------af153bdb71ef
Content-Disposition: form-data; name="name2"
value
------------------------------af153bdb71ef--
UnityCode
// Web
Debug.LogWarning("-----------");
using(WWW www = new WWW("http://127.0.0.1:8080/unity/from_unity?v1=1&v2=2")){
yield return www;
Debug.LogWarning(www.text);
}
Debug.LogWarning("-----------");
特徴
どんなURLでも応答を返す