這是我在Groovy中編寫的用於從網址中獲取頁面標題的代碼。不過,有些網站我得到了「永久移動」,我認爲這是因爲301重定向。如何避免這種情況,讓HttpURLConnection類要遵循正確的URL,並得到正確的頁面標題HttpUrlConnection獲取內容的標題並獲得「永久移動」
比如這個網站,我得到了「感動永久」,而不是正確的頁面標題 http://www.nytimes.com/2011/08/14/arts/music/jay-z-and-kanye-wests-watch-the-throne.html
def con = (HttpURLConnection) new URL(url).openConnection()
con.connect()
def inputStream = con.inputStream
HtmlCleaner cleaner = new HtmlCleaner()
CleanerProperties props = cleaner.getProperties()
TagNode node = cleaner.clean(inputStream)
TagNode titleNode = node.findElementByName("title", true);
def title = titleNode.getText().toString()
title = StringEscapeUtils.unescapeHtml(title).trim()
title = title.replace("\n", "");
return title
我試過了,但它仍然沒有工作。我認爲setInstainceFollowRedirects(true)是默認值。但是非常感謝你的回覆。 – toy
是的,我應該在發佈之前嘗試過自己。我確實重現了你的症狀,但是看不到爲什麼。我嘗試了HttpBuilder而不是HttpUrlConnection,並且遵循重定向而沒有其他配置。但是我還沒有能夠將所得到的內容傳遞給HtmlCleaner。 – mmigdol
這不是nyt paywall影響的事情嗎? –