Jul 01, 2011
[Apple] 固定のレスポンスを返す HTTP Server を立てる
ローカルの MacOS X にどんなリクエストに対しても固定のレスポンスを返す HTTP Server を立ててみた。 手軽に利用できる python の BaseHTTPServer をカスタマイズして実現してある。
HTTP Server の準備
以下の様な python のコードを作成。
/usr/share/local-http-server.py
#!/usr/bin/python
import BaseHTTPServer
class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_GET(s):
s.send_response(200)
s.send_header("Content-type", "text/html")
s.end_headers()
s.wfile.write("")
if __name__ == '__main__':
BaseHTTPServer.HTTPServer(('localhost', 80), MyHandler).serve_forever()
MacOS X の自動起動設定
/Library/StartupItems/LocalHTTPServer/LocalHTTPServer
#!/bin/sh
. /etc/rc.common
start() {
/usr/share/local-http-server.py &
}
stop() {
pid=`ps -ax | grep "/usr/bin/python /usr/share/local-http-server.py" | grep -v grep | sed -E "s/^ +//" | sed -E "s/ .+$//"`
if [ "$pid" != "" ]
then
kill $pid;
fi
}
case $1 in
start)
ConsoleMessage "Starting Local HTTP Server"
start;
;;
stop)
ConsoleMessage "Stopping Local HTTP Server"
stop;
;;
restart)
ConsoleMessage "Restarting Local HTTP Server"
stop;
start;
;;
*)
echo "$0: unknown argument: $1"
;;
esac
/Library/StartupItems/LocalHTTPServer/StartupParameters.plist
{
Description = "LocalHTTPServer";
Provides = ("LocalHTTPServer");
OrderPreference = "Early";
}



