2

私の銀行には、自動的にログインしたいモバイル サイトがあります。これはウェブページhttps://ib.absa.co.za/ib/AuthenticateW.do?icmpid=BAC00414です。

これまでの私のコードは次のとおりです。

    browser = (WebView)findViewById(R.id.webView1);
    browser.getSettings().setJavaScriptEnabled(true);

        ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
        nameValuePairs.add(new BasicNameValuePair("AccessAccount", "my_account_nr"));
        nameValuePairs.add(new BasicNameValuePair("PIN", "my_pin"));

        try {
            browser.loadData(CustomHttpClient.executeHttpPost(BASE_URL, nameValuePairs), "text/html", "utf-8");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

BASE_URL は上部のリンクです。http://code.google.com/p/virtualwalks/source/browse/trunk/virtualwalks/project7/Android/CustomHttpClient.java?spec=svn177&r=177から CustomHttpClient を取得しました

Web ページのヘッダーは次のとおりです。

リクエストURL:https://ib.absa.co.za/ib/AuthenticateW.do?icmpid=BAC00414

リクエスト方法:GET

ステータスコード:200 OK

Request Headersソースを見る

Accept:text/html,application/xhtml+xml,application/xml;q=0.9, / ;q=0.8

Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3

Accept-Encoding:gzip、deflate、sdch

Accept-Language:en-US,en;q=0.8,af;q=0.6

接続:キープアライブ

ホスト:ib.absa.co.za

リファラー:http://www.absa.mobi/

ユーザーエージェント:Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (Gecko のような KHTML) バージョン/4.0 Mobile Safari/533.1

クエリ文字列パラメータービュー URL エンコード

icmpid:BAC00414

応答ヘッダービューのソース

キャッシュ制御: キャッシュなし、再検証が必要

接続:キープアライブ

コンテンツ エンコーディング:gzip

Content-Language:en-US

Content-Type:text/html;charset=ISO-8859-1

日付:2012 年 10 月 10 日水曜日 07:57:50 GMT

有効期限:1970 年 7 月 12 日 (日) 2:00:00 GMT

キープアライブ:タイムアウト=10、最大=20

pragma:no-cache

セット Cookie:JSESSIONID=0000CTls0Onsd_DJkBrN0FLy9eq:11l21e8a2; パス=/ib; Domain=absa.co.za;セキュア

Transfer-Encoding:チャンク

Vary:Accept-Encoding,User-Agent

およびhtmlコード:

<html>

アブサモバイルバンキング

<body text="#000000" bgcolor="#FFFFFF">
    <p align="left" style="text-align:left;" class="pgHeadTop"><img src="/ib/images/wap/menu/absa_98x27.gif" alt="Logo" border="0"> <p align="left" style="text-align:left;" class="pgHeadBottom">Logon </p>

        <form action="https://vs1.absa.co.za/ib/AuthenticateW.do;jsessionid=0000CTls0Onsd_DJkBrN0FLy9eq:11l21e8a2" method="post" autocomplete="OFF"><input type="hidden" name="_channelIdentifier_" value="W">


                <p align="left" style="text-align:left;">
                    <p align="left" style="text-align:left;" class="tooltip">Enter your access account number</p>
                    <input type="text" name="AccessAccount" value="" maxlength="16" size ="16" istyle="4">
                </p>

            <p align="left" style="text-align:left;">
                <p align="left" style="text-align:left;" class="tooltip">Enter your PIN</p>
                <input type="password" name="PIN" value="" maxlength="5" size ="5" istyle="4">
            </p>
            <p align="left" style="text-align:left;">
                <p align="left" style="text-align:left;" class="tooltip">Enter your user number</p>
                <input type="text" name="user" value="1" maxlength="4" size ="5" istyle="4">
            </p>
            <p align="left" style="text-align:left;">
                <p align="left" style="text-align:left;" class="heading">It is your responsibility to ensure the secrecy of your PIN number.</p>
            </p>
            <p align="left" style="text-align:left;">
                <input type="submit" name="button_processPIN" value="Next &gt;" /><input type="hidden" name="processPIN_params" value="controller=com.sirius.apps.ib.view.wap.user.AuthenticateCntrl&amp;state=processPIN"/><input type="hidden" name="processPIN_encoding" value="u"/><input type="hidden" name="cmd" value="button"/>
            </p>
            <input type="hidden" name="AUTH_RND" value="a2f7ea6e">
            <input type="hidden" name="JAVASCRIPT" value="Y">
            <input type="hidden" name="LOGON" value="1">
        </form>
        <p align="left" style="text-align:left;" class="pageFooter"><a href="https://ib.absa.co.za/ib/RegisterW.do;jsessionid=0000CTls0Onsd_DJkBrN0FLy9eq:11l21e8a2?_Uid_=1&amp;_channelIdentifier_=W&amp;_language_=en" style="color:#FFFFFF;">Register</a> | <a href="https://ib.absa.co.za/ib/ContactUsW.do;jsessionid=0000CTls0Onsd_DJkBrN0FLy9eq:11l21e8a2?_Uid_=1&amp;_channelIdentifier_=W&amp;_language_=en" style="color:#FFFFFF;">Contact</a> | </p><p align="right" style="text-align:right;" class="body"><img src="/ib/images/wap/menu/barclays_84x25.gif" alt="Barclays" border="0"></p>



</body>

プログラムを実行すると、ログインページが読み込まれます。

誰かがこれに光を当ててくれることを願っています.

4

1 に答える 1

0

それらはおそらくユーザー エージェントと一致し、このカスタム http クライアントを使用する場合、有効なユーザー エージェントがない可能性があります。

ユーザー エージェントを Android ブラウザーが使用するものと同じに設定すると、ページを読み込めるようになります。

これに可能な値の 1 つは次のとおりです。

Mozilla/5.0 (Linux; U; Android 1.1; en-gb; dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2 – G1 Phone

それ以外の場合は、プログラムで取得します: プログラムで User-Agent を取得します

于 2012-10-08T14:13:33.313 に答える