[英]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.