[SML 7705] Re: HttpClientによるログイン認証について
久保田 吉彦
kubota @ sie.dendai.ac.jp
2009年 10月 27日 (火) 20:31:20 JST
電大の久保田です。
青木先生の助言で無事mixiにログインしてページ情報を得ること
ができました。
ありがとうございました。
これでひと安心と思っていたのですがまた問題がでてきました。
HTTPSでの通信です。
ニコニコ動画にログインするプログラムを書いてみました。
1)nicoLoginその1を使った場合Unhandled exception:
NetHttpMovedError(302 Found)がでる。
2)nicoLoginその2を使った場合Unhandled exception:
WSAECONNABORTEDがでる。
といった状況です。リダイレクトの設定はNet.Settings
httpRedirectRequest: true.にしています。ネットワークプログラムは
ほとんど書いたことがないので良く分らないのですが、1)の場合
リダイレクト可の設定にしてあるのになぜExceptionが出るのか
わかりませんまた、2)の場合HTTPでのmixiへのログ
インが出きたのにHTTPSでの通信の場合なぜ
WSAECONNABORTEDが出るのか分りません。どなたかご存知のかたいらっ
しゃいませんか?
それともニコニコ動画のページはプログラムではログインできない作り
になっているのでしょうか?
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ーー
"nicoLogin := 'https://secure.nicovideo.jp/secure/login?
site=niconico'." "その1"
nicoLogin := 'https://secure.nicovideo.jp/secure/login_form'.
"その2"
nicoTopPage := 'http://www.nicovideo.jp'.
inputUserName := 'email'.
inputPassword := 'password'.
inputNextURL := 'next_url'.
client := Net.HttpClient new.
client enableCookies: true.
httpRequest := HttpRequest post:nicoLogin.
httpRequest
userAgent: 'VW76NC';
addFormKey: 'email' value: 'いーめーるあどれす';
addFormKey: 'password' value: 'ぱすわーど';
addFormKey: 'next_url' value:''.
httpResponse := client executeRequest: httpRequest. "<=ここで
Net.HttpMovedError(302 Found)が発生"
httpRequest inspect.
agent :=client cookieAgent.
agent cacheCookies: true.
getMethod := HttpRequest get: nicoTopPage.
getMethod userAgent:'VW76NC'.
response := client executeRequest: getMethod. "<=ここで
WSAECONNABORTEDが発生"
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ーー
久保田吉彦
東京電機大学 情報環境学部 情報環境学科
On 2009/10/27, at 15:47, AOKI Atsushi wrote:
> 久保田吉彦さんは書きました:
>> 青木先生のおっしゃった通り、デバッガを見たらエンコーダが入っ
>> ている
>> IdentityDictionaryに'euc-jp'が入っていませんでした。そ
>> のためKey not
>> foundのExceptionが出ているようです。
>
> だいぶ昔ですが、私も似たような状況に陥ったことがよみがえり、
> とっさに(脊髄反射で)、もしや!思ったのですが、当たりでした
> か…。
>
>> 原因は判ったのですが、どう対処していいやら分りません。どなた
>> か対処方法ご
>> 存知のかたいらっしゃいませんでしょうか。
>> #うーん、なさけない
>
> お使いの環境が Windows 版の VisualWorks ならば、
> エンコーディングシンボルの #euc-jp を
> #JapaneseEUC に写像すればいいと思います。
>
> VisualWorks の日本語版でなければ、Jpl を援用できます。
> http://www.cc.kyoto-su.ac.jp/~atsushi/Jpl/
>
> これまた久保田さんのコードを確かめもせずに、
> 応答しておりますので、とんちんかんなフォローやもしれませぬ。
> その際には、あしからず、ご容赦くださいませ。
>
> --- 青木淳@取り急ぎ
SML メーリングリストの案内