我想獲取MyAnimeList.net的html(具體此頁面:http://myanimelist.net/anime.php?q=toradora!
),我正在使用一種在以前在不同網站上工作過的方法,但在這裏不適用於我。錯誤訪問網站
的方法我用:
public String getWebsiteSourceCode(String sURL){
try{
URL url = new URL(sURL);
URLConnection urlConn= url.openConnection();
//NEW LINE
urlConn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36");
BufferedReader in = new BufferedReader(new InputStreamReader(
urlConn.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder a = new StringBuilder();
while ((inputLine = in.readLine()) != null)
a.append(inputLine);
in.close();
return a.toString();
}catch(Exception e){
e.printStackTrace();
return "null";
}
}
我得到什麼:
<html><head><META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"></head><iframe src="/_Incapsula_Resource?CWUDNSAI=9&incident_id=124000930038292057-125560654487356886&edet=12&cinfo=464f095fc75381e904000000" frameborder=0 width="100%" height="100%" marginheight="0px" marginwidth="0px">Request unsuccessful. Incapsula incident ID: 124000930038292057-125560654487356886</iframe></html>
我應該得到:在網頁的HTML代碼(我可以把它在谷歌瀏覽器右鍵點擊+查看頁面源代碼,這與我從我的方法中得到的完全不同)。
從我得到的情況來看,它提到了一些關於機器人的內容,所以我假定網站有cookie或跟蹤我是否使用瀏覽器或bot的東西......我想知道的是,是否有可能繞過這一點,我將如何繼續這樣做?感謝您的幫助:)(最好在Java中,因爲這是我使用)
編輯:嘗試加入這一行: urlConn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36");
,但我得到了同樣的錯誤......
嘗試查找瀏覽器User-Agent並將其發送到標題中。 –
對不起,我不知道你是什麼意思。謹慎解釋呢? – XQEWR
在Java中設置用戶代理:http://stackoverflow.com/questions/2529682/setting-user-agent-of-a-java-urlconnection 或讓我谷歌爲您:http://bit.ly/1dc1Xg2 – ochi