Чтение исходного кода веб-страницы в Java Отличается от исходного исходного кода веб-страницы
Я пытаюсь реализовать программу для чтения исходного кода веб-страницы и сохранения его в текстовом файле, а затем выполнить некоторые операции в нем, но проблема, когда я читаю исходный код веб-страницы, существует разница между исходным исходным кодом веб-страницы и выводом Java-программы исходный код веб-страницы.
моя программа:
String inputLine;
URL link = new URL("http://www.ammanu.edu.jo/English/Articles/newsArticle.aspx?id=2935");
BufferedReader in = new BufferedReader( new InputStreamReader(link.openStream(),"UTF-8"));
while ((inputLine = in.readLine()) != null){
System.out.println(inputLine);
}
in.close();
и моя проблема в этой строке исходного кода
исходный код веб-страницы в строке 1156:
<img id="img" src="http://www.ammanu.edu.jo/AdminImages/20652935/_DSC0246.jpg" style="height:310px;width:400px;border-width:0px;display:block;float:left; padding-right:5px;" />
Фактический вывод программы Java:
<img id="img" src="http://www.ammanu.edu.jo/AdminImages/20652935/_DSC0246.jpg" height="310" width="400" border="0" style="display:block;float:left; padding-right:5px;" />
Любое предлагаемое решение для этой проблемы?
1 ответ
Решение
Вы должны установить пользователя User-Agent:
con.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");
Полный код:
String inputLine;
URL link = new URL("http://www.ammanu.edu.jo/English/Articles/newsArticle.aspx?id=2935");
URLConnection con = link.openConnection();
con.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");
BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream(),"UTF-8"));
while ((inputLine = in.readLine()) != null){
System.out.println(inputLine);
}
in.close();
Результат
<img id="img" src="http://www.ammanu.edu.jo/AdminImages/20652935/_DSC0246.jpg" style="height:310px;width:400px;border-width:0px;display:block;float:left; padding-right:5px;" />