[SML 7708] Re: HttpClientによるログイン認証について
Masashi Umezawa
umejava @ mars.dti.ne.jp
2009年 11月 3日 (火) 21:26:09 JST
こんにちは
梅澤です。
私のところでは1,2のどちらで試しても
Unhandled exception: CA Not in Trust Registry!
と出ます。
どうやらSecurity.X509.X509Registry>>readTrustedCertificatesFromFile:
で.pemファイルを読み込まないといけないような感じなのですが、
その辺りはクリアされているのでしょうか。
久保田 吉彦 <kubota @ sie.dendai.ac.jp> wrote:
> 電大の久保田です。
>
> 青木先生の助言で無事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/
> >
> > これまた久保田さんのコードを確かめもせずに、
> > 応答しておりますので、とんちんかんなフォローやもしれませぬ。
> > その際には、あしからず、ご容赦くださいませ。
> >
> > --- 青木淳@取り急ぎ
---
[:masashi | ^umezawa]
SML メーリングリストの案内