我的要求是做Web應用程序來獲取目標內容,並且必須通過使用HttpURLConnection添加請求標頭。Java HttpURLConnection獲取所有內容包括CSS,IMG等
我使用此代碼
try{
String urlStr = "http://test/STAM/Login";
url = new URL(urlStr);
urlconn = (HttpURLConnection)url.openConnection();
urlconn.setRequestProperty("Accept-Language","en-us,en;q=0.5");
urlconn.setRequestProperty("Accept-Charset","ISO-8859-1,utf-8;q=0.7,*;q=0.7");
urlconn.setRequestProperty("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16");
urlconn.connect();
//read the result from the server
rd = new BufferedReader(new InputStreamReader(urlconn.getInputStream()));
sb = new StringBuilder();
while ((line = rd.readLine()) != null)
{
sb.append(line + '\n');
}
out.println(sb.toString());
} catch(Exception e) {
e.printStackTrace();
} finally {
//close the connection, set all objects to null
urlconn.disconnect();
rd = null;
sb = null;
wr = null;
urlconn = null;
}
結果是: 我的代碼將獲得唯一來源的內容,但無法得到的CSS,圖像文件,JavaScript和等等,因爲它會從本地主機,如「HTTP負載: //localhost:8080/test/img/test.gif「而不是」http://test/STAM/img/test.gif「。請告訴我,如果我錯了,或者您有任何方法來解決這個問題。
非常感謝。
你期望看到什麼? –
我希望通過使用HttpURLConnection從目標網站中看到完整內容(文本,圖像)。謝謝 – user1770473
全文是什麼意思?就像你在瀏覽器中看到的頁面一樣? –