[SML 7701] HttpClientによるログイン認証について
久保田 吉彦
kubota @ sie.dendai.ac.jp
2009年 10月 27日 (火) 12:14:13 JST
こんにちは、電大の久保田です。
Net.HttpClientの使いかたについて悩んでいます。
ログインし、その後のページを取得したいのですが、うまくいきません。
Javaですが、同じ目的のサンプルプログラムがあったので、それを参考
に書いてみました。
mixiにログインし、その後のページを持ってくる例(http://
blog.mikuriya.biz/archives/251)です。
環境はVisualWorks7.6NCにWebSupportのパーセルをインス
トールしています。
ーーーーーーーーーーーーーーーーーーーーーーーーーーー
mixiLogin := 'http://mixi.jp/login.pl'.
mixiTopPage := 'http://mixi.jp/home.pl'.
inputUserName := 'email'.
inputPassword := 'password'.
inputNextURL := 'next_url'.
userName := 'めーるあどれす'.
password := 'ぱすわーど'.
nextUrl := '/home.pl'.
client := Net.HttpClient new.
client enableCookies: true.
postRequest := HttpRequest post:mixiLogin.
postRequest
addFormKey: inputUserName value: userName;
addFormKey: inputPassword value: password;
addFormKey: inputNextURL value: nextUrl.
postResponse := client executeRequest: postRequest.
"????"
getMethod := HttpRequest get: mixiTopPage.
getResponse := client executeRequest: getMethod
ーーーーーーーーーーーーーーーーーーーーーーーーーーー
????までは実行できます。全て選択して実行するとUnhandled
exception: Key not foundというExceptionがでます。
javaの例をみると????にあたるところに
postMethod.releaseConnection()という式が入っていました。
VisualWorksにも同じようなものがあるかとシステムブラウザをのぞい
てみましたが目当てのものは見付かりませんでした。
HttpClientのインスタンスを1つ作成し、それに向って必要なだけ
executeRequest: aHttpRequestメッセージを送信すれば結果が得られる
と考えているのですが、間違ているのでしょうか。
久保田吉彦
東京電機大学 情報環境学部 情報環境学科
SML メーリングリストの案内