J'ai essayé de construire un robot d'indexation Web qui génère des sommes de contrôle des fichiers qu'il rencontre. Je ne veux pas générer de sommes de contrôle pour les flux infinis (radio Internet, flux vidéo en direct, etc.), car cela bloquerait le robot d'exploration et provoquerait un manque de mémoire. Par conséquent, j'ai besoin d'un moyen de les filtrer. J'ai essayé de vérifier si content-length
a été défini sur -1, car les flux de diffusion ne signalent pas la longueur du contenu, mais ont constaté que de nombreux autres serveurs choisissent de ne pas signaler une longueur de contenu sur leurs documents ou utilisent des téléchargements progressifs sans rapport. une longueur de contenu. Ma solution actuelle vérifie si le content-type
est video/*
ou audio/*
et content-length
est -1, mais cela a le potentiel de jeter progressivement les fichiers multimédias téléchargés qui ne sont pas d'une longueur infinie.Test de longueur de contenu infinie
Y at-il un moyen facile de tester si un flux est infiniment long sans avoir recours à vérifier s'il dépasse une valeur arbitraire? Mon langage pour ce projet est Java avec JSoup, si c'est important.
Pas trop sûr, mais quand il y a une réponse en streaming - vous ne recevez pas la fin de la réponse, ils vous envoient simplement les données, de sorte que le même objet de réponse peut être utilisé pour envoyer d'autres données en continu. Vous pouvez essayer de vérifier, si la réponse est terminée ce qui devrait être vrai dans le cas d'un média de longueur finie – prabodhprakash
@prabodhprakash Pardonnez-moi si je ne comprends pas cela, mais si les données continuent de venir (comme dans un flux infini), comment vais-je sais que ça ne va pas finir? – ndm13