0

からHTMLデータを取得しようとしていますWebView。私はこれが何千回も行われるのを見てきました、そして私はそれを自分で動かすことさえできました。ただし、私の新しいプロジェクトは興味深い状況につながります。aを介してサイトにログインしてから、HTMLをWebViewプルする必要があります。明らかに、このメソッドは機能しません。Webページが返されるためには、認証用のCookieが必要だからです。私もそのトリックを試しましたが、それもうまくいきませんでした。これを達成するための最良の方法は、で使用することだと思いますか?auth cookieを使用してから生のHTMLコードを取得する方法を知っている人はいますか?ありがとう!SocketJavascriptInterfaceHttpGetCookieManagerWebView

編集:JSインジェクションを実行しましたが、Cookieが表示されませんでした...Cookieの問題ではない可能性がありますか?mainPage?a=1ただし、リダイレクトされるリンクは、やのような一般的なものinfoPageです。これらのリンクを表示するには、ログインする必要のある別のブラウザにリンクをコピーして貼り付けることはできません。Webの専門家であるあなたにとって、あなたは簡単な解決策を知っているかもしれません。

4

1 に答える 1

1

WebViewプログラムで使用するために HTML を取得するためのものではありません。これは、ユーザーと対話するための URL への直接のウィンドウにすぎないという考えです。

java.net.HttpURLConnection必要なものを取得するには、 a を aとともに使用できます。CookieManagerこれは、Android でうまく機能し、Android SDK ドキュメントで提案されています。

// in an activity's onCreate:
cookieManager = new CookieManager();
CookieHandler.setDefault(cookieManager);

// later on
void getAPage(URL url) {
   HttpURLConnection huc = (HttpURLConnection) url.openConnection();

   System.out.println("hello from huc, response code is: " + huc.getResponseCode());

   // huc.getInputStream() gives you the content.
}

CookieManager、アプリケーションの有効期間中、何もしなくてもすべての Cookie を保持します。で投稿することもできHttpURLConnectionます。

于 2012-10-17T23:32:24.703 に答える