python-mechanizeでログインするぞ。
mechanizeは、スクレイピングとか用のweb操作ライブラリ。
標準ではないのでpip等でinstall。
で、ためしにログイン画面をつくってmechanizeでアクセスする。
ログイン画面はこんなかんじ。
index.html
<html> <head> </head> <body> <form name="LOGIN" action="/cgi-bin/form_test.py"> USERNAME <input type="text" name="USERNAME"></input><br> PASSWORD <input type="text" name="PASSWORD"></input><br> <input type="submit"></input> </form> <div id="foo"></div> </body> </html>
cgi-bin/form_test.py
#!/usr/bin/env python import cgi print "Content-Type: text/html\n\n" print "<html><body>" form = cgi.FieldStorage() name = form["USERNAME"].value password = form["PASSWORD"].value if name == "user" and password == "pass": print "OK" else: print "ERROR" print "</body></html>"
ユーザ名がuserで、パスワードがpassだとOK、それ以外だとERRORと出力するようにした。
クライアントは以下
#coding:utf-8 import mechanize URL = "http://127.0.0.1:8000" #ブラウザオブジェクトを生成 br = mechanize.Browser() #robot.txtを無視 br.set_handle_robots(False) #アクセス br.open(URL) #form情報を作る br.select_form(name="LOGIN") br["USERNAME"] = "user" br["PASSWORD"] = "pass" #submit ret = br.submit() #帰ってきたhtmlを見る print ret.read()
以上。