Lettura e terminazione del flusso in HttpClient 4
-
18-09-2019 - |
Domanda
Sto leggendo documenti di grandi dimensioni di cui ho bisogno solo del 5% superiore, posso fare quanto segue con HttpClient 4?
- Richiedi la pagina (ottieni o pubblica)
- Leggi la risposta come flusso
- Inseriscilo nel parser HTML basato su SAX "al volo"
- Quando viene rilevato un determinato tag HTML, termina lo streaming
Tieni presente che HttpClient v.4 è obbligatorio: non posso usare v.3
Soluzione
Grazie a Ken della mail list HttpClient ecco la risposta
Usa il metodo httpentity#getcontent (), che restituisce un
java.io.InputStream, e passarlo a il vostro parser HTML basato su SAX.http://hc.apache.org/httpcomponents-client/tutorial/html/fundamentals.html#d4e122
Quando vedi il tag di cui hai bisogno, termina la richiesta invocando il metodo HTTPURIREQUEST#ABORT ().
http://hc.apache.org/httpcomponents-client/tutorial/html/fundamentals.html#d4e285
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow