[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 メーリングリストの案内