我想使用一個Java程序加載一個移動版本的網頁,很容易從網頁中提取少量信息。從Java程序模擬移動Web瀏覽器
在Firefox中,添加的用戶代理切換插件後,我添加了一個新的用戶代理與價值
"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/,網頁的移動版本加載成功。
但我試圖通過設置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");
,但我沒有得到相同的鏈路的移動版本。
我希望重定向會在這裏自動發生,我將在用戶代理被修改時獲取頁面的移動版本。
你能幫我解決這個問題嗎?
啓用HttpClient的建議解決方案日誌記錄(http://hc.apache.org/httpcomponents-client-ga/logging.html)和後r esults。 – fglez 2012-04-03 15:24:19
現在我發現問題是與那些設置window.location的網站在響應中重定向網頁的問題..不知何故,即使設置重定向後,Apache httpclient-4.1.3不自動處理此參數HttpClientParams.setRedirecting (params,true); DefaultHttpClient httpclient = new DefaultHttpClient(params); – 2012-04-05 07:24:28