2015-04-09 3 views
1

Это мой первый пост здесь. Я любитель, поэтому, пожалуйста, несите меня.Ошибка SSL неверно отключена

Я пытаюсь получить веб-страницу от https://eztv.it/shows/1/24/ со следующим кодом.

public static void WriteHTMLToFile(String URL){ 
    try { 

     URI myURI=new URI(URL); 
     URL url = myURI.toURL(); 
     HttpsURLConnection con= (HttpsURLConnection)url.openConnection(); 
     File myFile=new File("c:\\project\\Test.txt"); 
     myFile.createNewFile(); 
     FileWriter wr=new FileWriter(myFile); 
     InputStream ins=con.getInputStream(); 
     InputStreamReader isr= new InputStreamReader(ins); 
     BufferedReader reader = new BufferedReader(isr); 
     String line; 
     while ((line = reader.readLine()) != null) { 
      wr.write(line+"\n");  
     } 

     reader.close(); 
     wr.close(); 
    } 
    catch(Exception e){ 
     log(e.toString()); 
     } 
} 

Когда я запускаю это я получаю следующее:

javax.net.ssl.SSLException: SSL коллегиально закрыли неправильно

Если я запускаю приведенный выше код на этот URL : https://eztv.it/shows/887/the-blacklist/ работает по назначению. Разница между двумя размерами файлов URL, по-видимому, является фактором, способствующим росту. При тестировании разных URL-адресов на один и тот же сервер приведенный выше код, похоже, работал только с файлами размером менее 30 КБ. Все, что было выше, создало бы исключение выше.

ответ

2

Я понял. Сервер отвечает кодировкой gzip, когда размеры файлов превышают определенный размер.

con.setRequestProperty("Accept-Encoding", "gzip, deflate, sdch");

был добавлен в заголовок запроса, а также некоторый код для обработки потока GZIP.

+1

Вы имеете в виду, что сервер закрывает соединение выше определенного размера * если * вы разрешаете ему использовать кодировку gzip? – EJP

Смежные вопросы