URLのリクエストパラメータを取得する方法

Powered by Google App Engine
自分用メモ


webapp.RequestHandlerを使用するテスト


例:http://localhost:8080/?ID=3535 とかでアクセスすると、各内容を表示するだけのスクリプト
self.request.get()は、クエリパラメータを複数持っていても(&で繋げたやつ)抜き出してくれるので便利っつーか、webappの内容把握してないのでよく読むのが先だろ>俺

import wsgiref.handlers

from google.appengine.ext import webapp

class MainPage(webapp.RequestHandler):
	def get(self):
		self.response.headers['Content-Type'] = 'text/plain'
		self.response.out.write('uri    = '+self.request.uri+'\n')
		self.response.out.write('scheme = '+self.request.scheme+'\n')
		self.response.out.write('host   = '+self.request.host+'\n')
		self.response.out.write('path   = '+self.request.path+'\n')
		self.response.out.write('query  = '+self.request.query+'\n')

		try:
			ID = int(self.request.get('ID'))
			self.response.out.write('"ID"  = ' + str(ID) + '\n')
		except (TypeError, ValueError):
			self.response.out.write('"ID"  = none\n')


def main():
	application = webapp.WSGIApplication(
			[
			('/', MainPage),
			],
			debug=True)
	wsgiref.handlers.CGIHandler().run(application)

if __name__ == "__main__":
	main()

実行結果

uri    = http://localhost:8080/?ID=3535
scheme = http
host   = localhost:8080
path   = /
query  = ID=3535
"ID"  = 3535


参考にさせていただきました
http://d.hatena.ne.jp/hamatsu1974/20080422/1208802967