Folgende Methode verlässt niemals die while-Schleife. Den Content empfängt sie problemlos, nur halt wird der String line niemals null. Hat jemand ne andere Idee, wie man ein Kriterium für ein Schleifenende findet?
Java:
public String crawl() {
try {
InetAddress addr = InetAddress.getByName(this.host);
Socket socket = new Socket(addr, this.PORT);
/* Build Request */
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));
wr.write("GET "+this.path+" HTTP/1.1\r\n");
wr.write("Host: "+this.host+"r\n");
wr.write("User-Agent: "+this.user_agent+"\r\n");
wr.write("\r\n");
wr.flush();
// Get response
BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line = rd.readLine();
while (line != null) {
this.html_content += line;
line = rd.readLine();
}
wr.close();
rd.close();
} catch (Exception ex) {
ex.printStackTrace();
}
return html_content;
}