[SML 7703] Re: HttpClientによるログイン認証について

久保田 吉彦 kubota @ sie.dendai.ac.jp
2009年 10月 27日 (火) 15:16:08 JST


こんにちは、電大の久保田です。

青木先生のおっしゃった通り、デバッガを見たらエンコーダが入ってい 
るIdentityDictionaryに'euc-jp'が入っていませんでし 
た。そのためKey not foundのExceptionが出ているようで 
す。

原因は判ったのですが、どう対処していいやら分りません。どなたか対 
処方法ご存知のかたいらっしゃいませんでしょうか。
#うーん、なさけない

On 2009/10/27, at 12:37, AOKI Atsushi wrote:

> 確かめもせずに思い込みだけの返信ですが、あしからず。
> おそらく文字セットの問題ではないかしらん。
> 当該の文字コードのエンコーダ/デコーダが見つからないのでは。
>
> --- 青木淳@脊髄反射
>
> 久保田 吉彦 さんは書きました:
>> こんにちは、電大の久保田です。
>>
>> 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 メーリングリストの案内