2012-06-09 75 views
0

我的問題是,我想讀取一些其他網站的html數據和圖像,並在我的網頁上顯示它們。我使用了以下代碼片段如何捕捉網站上的圖像,並在其他網頁上顯示

URL iurl=new URL("https://abc.com"); 
URLConnection uRLConnection=iurl.openConnection(); 
BufferedReader br= new BufferedReader(new InputStreamReader(uRLConnection.getInputStream())); 
String line; 
int i=0; 
PrintWriter pw=response.getOutputStream(); 
while((line=br.readLine())!=null) 
{ 
pw.write(line) 
} 

InputStream is= urlconnection.getInputStream(); 

    outputStream.close(); 


OutputStream out=response.getOutputStream(); 
    int data; 
byte[] dataByte=new byte[1024]; 
while((data=is.read(dataByte))!=-1) 
{ 
    out.write(dataByte); 
} 

但都無法產生網頁鏡像複製這樣我怎麼能產生相同的。 請讓我知道

回答

0

您試圖使用URLConection檢索的代碼僅檢索該頁面的源代碼。

因此,如果同一頁面的CSS存儲在另一個文件中,則不會被檢索。只有HTML部分將被拍攝並顯示。

因此,要創建頁面的精確鏡像,您還必須閱讀url of the CSS文件,並將其與html代碼分開存儲。

+0

感謝您的幫助,但在圖像的情況下,怎麼可能,因爲當我渲染圖像只有一個圖像獲得整頁 – user1047873

+0

我甚至用此IIOImage中first_IIOImage =新方法IIOImage(上呈現img1,null,null); Iterator writers = ImageIO.getImageWritersByFormatName(「jpg」); ImageWriter writer =(ImageWriter)writers.next(); ImageOutputStream ios = ImageIO.createImageOutputStream(out); writer.setOutput(ios);如果(i == 0) writer.write(null,first_IIOImage,null); else if(writer.canInsertImage(i)) writer.writeInsert(i,first_IIOImage,null);但writer.canInsertImage(i)retuen false你能幫我解決這個問題 – user1047873

+0

可能不止一個原因。你可能想嘗試一些庫,允許在這個http://djproject.sourceforge.net/ns/ –

0

使用JEditorPane(閱讀更多內容here)。所有你實際上需要的是:

JEditorPane jep; 
jep.setPage(url); //url is a String 
+0

我可以將其用於網頁 – user1047873

+0

如果您向JEditorPane提供有效的URL,它將顯示整個網頁幾乎像Internet瀏覽器。 – Dzik

+0

不,我想在網頁上顯示不在桌面上的輸出 – user1047873

相關問題