0

ログインが必要な SSL 暗号化 (thawte によって署名されているため、自己署名の問題はありません) の Web サイトがあります。私の目標は、このサイトのサブページからデータを読み取ることです。Web ブラウザーでの通常のプロセスは次のようになります。

  • 「https://abc.de」に移動
  • 資格情報を入力してボタンを押す
  • 今..ログインしてリンクをクリックすると、データを見ることができます

Android では、ユーザーがボタンをクリックしてバックグラウンドで自動的にすべてのことを行い、結果を解析された形式で表示するようにしたいと考えています。

私は Android プログラミングについてよく知らないので、最初に推測したのは WebView でした。資格情報を使用して POST 要求をログイン ページに直接送信すると、これは正常に機能します。しかし、WebView のソースコードを取得できないようです。私が望むことを行うための最良/最も簡単なテクノロジー/方法は何ですか?

4

3 に答える 3

2

HttpClientまたはを使用HttpsUrlConnectionして、 を必要とせずにサーバーと直接通信できますWebView。例については、私の質問/回答をご覧ください。

于 2012-10-18T12:05:45.240 に答える
2

だけを使用するよりも、または(どちらを使用するかについては、このブログ投稿を参照) を使用して、サーバーからページを最初に読み込むWebView方がよいでしょう。その後、返されたデータに対して必要な処理を実行し、それを に渡して表示することができます。HttpClientHttpURLConnectionWebView

于 2012-10-18T11:06:36.003 に答える
0

このユーザーのフォームを送信できますか? HTTPClient を使用し、接続を開いてフォームを送信できます。ただし、これは簡単にトリッキーで醜くなる可能性があります。一部のサーバーは、クライアントのログインを許可する前にナンスをブラウザーに渡します。サーバーにそのようなセキュリティ機能がある場合、プログラムによるログインを成功させる前に (仮にあったとしても) 非常に多くのコードを記述することになります。さらに、[1] のような HTML パーサーを使用してデータを読み取る必要があります。

可能であれば、このデータを取得するための API を公開するよう Web サイトに依頼する方がはるかに簡単です。これが私が提案するルートです。Web サービスは、HTTPS を介した OAuth または BASIC 認証を介してユーザーを認証することもできます。スクリーンスクレイピングの苦痛を取り除きますが、そのサービスを作成するための時間の投資も必要とします.

[1] - http://htmlcleaner.sourceforge.net/

于 2012-10-18T11:17:51.250 に答える