Webページから少数の情報を簡単に抽出するためのJavaプログラムを使用して、Webページのモバイル版をロードしようとしています。 FirefoxのでJavaプログラムからモバイルWebブラウザをシミュレートする
は、ユーザエージェントスイッチャープラグインを追加した後、私はこの後
"Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE71-1/110.07.127; Profile/MIDP-2.0 Configuration/CLDC-1.1) AppleWebKit/413 (KHTML, like Gecko) Safari/413"
値を持つ新しいユーザーエージェントを追加した私はhttp://www.bbc.co.uk/をロードしようとした場合、Webページのモバイル版です正常にロードされました。
しかし、私は、下記のようUser-Agent
を設定することにより、ApacheのHTTPClientのライブラリを使用してJavaプログラムで同じことをしようとしています:
HttpClient httpclient = new DefaultHttpClient();
HttpProtocolParams.setUserAgent(httpclient.getParams(),
"Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE71-1/110.07.127; Profile/MIDP-2.0 Configuration/CLDC-1.1) AppleWebKit/413 (KHTML, like Gecko) Safari/413");
しかし、私は同じリンクのモバイル版を取得しておりません。
ここで自動的にリダイレクトが行われ、ユーザーエージェントが変更されたときにモバイル版のページが表示されることを願っています。
この問題を解決するのに手伝ってもらえますか?
で提案された解決策を試すことができますロギング(http://hc.apache.org/httpcomponents-client-ga/logging.html)と投稿rエスコート。 – fglez
これで問題は、応答のWebページをリダイレクトするwindow.locationを設定するサイトにあることがわかりました。何とかApache HTTPClient-4.1.3がリダイレクトHttpClientParams.setRedirectingを設定してもこのパラメータを自動的に処理していません(params、true); DefaultHttpClient httpclient = new DefaultHttpClient(params); –