Hey, estoy tratando de conseguir el código HTML de una página de perfil de Twitter, pero HttpURLConnection sólo es devolver un pequeño fragmento del HTML. Mi códigojava HttpURLConnection cortando html
for(int i = 0; i < urls.size(); i++)
{
URL url = new URL(urls.get(i));
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6");
System.out.println(connection.getResponseCode());
String line;
StringBuilder builder = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
while((line = reader.readLine()) != null)
{
builder.append(line);
}
String html = builder.toString();
}
Siempre obtengo 200 como código de respuesta para cada llamada. Sin embargo, aproximadamente 1/3 de las veces se devuelve todo el documento html, y la otra mitad solo las primeras cientos líneas. La cantidad devuelta cuando el html está cortado no es siempre el mismo.
¿Alguna idea? ¡Gracias por cualquier ayuda!
Información adicional: Después de ver las cabeceras parece que estoy recibiendo cabeceras Content-Length duplicados. El primero es el largo completo, el otro es mucho más corto (y probablemente representativo de la longitud que obtengo parte del tiempo) ¿Cómo puedo manejar los encabezados duplicados?
me gustaría probar el código con una URL diferente. Sospecho que los servidores de Twitter hacen algún tipo de regulación de carga. –
Información adicional: Después de ver los encabezados, parece que obtengo encabezados de longitud de contenido duplicados. La primera es la longitud total, el otro es mucho más corto (y probablemente representativo de la longitud que estoy recibiendo una parte del tiempo) Cómo puedo manipular los encabezados duplicados? – JDetloff