非常に簡単な例だが、HTTP通信でクライアントからサーバにファイルを送信する例。クライアント側モジュールであるSend.pyに送信するファイルを引数として与えてあげると、mod_python上で動くサーバモジュールmptest.pyがそのデータを受け取りファイルとして書き出すという流れ。
—–
Send.py
import sys, urllib2 req = urllib2.Request("http://localhost/test/mptest.py/") file = open(sys.argv[1], "r") urllib2.urlopen(req, file.read()) file.close()
mptest.py
from mod_python import apache def handler(req): f = open("C:/Temp/rcvfile.tmp", "w") f.write(req.read()) return apache.OK
実行例。
Python.exe Send.py C:\FileSend\test.txt
非常に簡単な例だが、ソケット通信でファイル転送するプログラムを書いたことのある人間としては、このような楽な仕組みができあがっていることに素直に喜べる。