簡體   English   中英

使用Java URL輸入流從網站檢索“空”

[英]retrieving 'nulls' from website using Java URL input stream

我正在嘗試使用Java URL輸入流從網站讀取文本:

URL u = new URL(str);
br3 = new BufferedReader(new InputStreamReader(u.openStream()));
while(true)  
 System.out.println(br3.readLine());

對於大多數網站來說,這似乎很好用,但是對於某些URL縮短服務(如LinkBee),該對象會留下空白。 例如linkbee.com/FUAKF 我可以使用資源管理器查看源代碼,但是當我使用上述代碼時,我反復得到null

這是因為這些站點只是重定向服務。 您如何處理重定向? (重定向具有Location:標頭,但沒有正文)

使用像commons:httpclient這樣的http庫,方法getResponseBodyAsStream自動重定向

巴里是正確的。

我只是想補充一點,對於某些網站,可能還有javascript可以將您重定向到其他頁面。 像這樣:

<script type="text/javascript"> <!-- window.location = "http://www.google.com/" //--> </script>

但是在您的情況下,將是標題根據您返回空值的事實來重定向您。 只是以為您可能也要注意javascript。

的確,它是一個重定向服務,但是我不需要真正遵循重定向,我只需要提取重定向到的URL-可以在重定向網站本身的源代碼中找到(在給定的情況下,在第81行:

input type='hidden' id='urlholder' value='http://www.megaupload.com/?d=02EBRUTT'

無論如何,除非流不讀頭,只看正文,否則我認為流不會給我一個完整的空白。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM