J'essaie de récupérer le code HTML à partir d'une page Web à l'aide de httpwebrequest et httpwebreffonse. L'objet de réponse a une valeur de longueur de contenu de 106142. Lorsque je regarde l'objet de flux, il a un Longueur de 65536. Lors de la lecture du ruisseau avec un flux de flux de diffusion à l'aide de ReadToend (), seuls les premiers caractères 65536 sont retournés. P> Comment puis-je obtenir le code entier? p> à l'aide du segment de code suivant: p> ex.response.contentlength = ex.responstream (). Longueur = flux.length = PageOoutPut. Longueur = et oui, le code est effectivement tronqué. P> p>
3 Réponses :
Readtoend ne fait spécifiquement que cela, il se lit jusqu'à la fin du flux. Je vérifierais pour vous assurer que vous étiez réellement envoyé la réponse attendue. P>
Il semble y avoir un problème lorsque vous appelez la méthode GetResponsestream () sur HTTPWEBRESPONNONS renvoyée à l'exception. Tout fonctionne comme prévu quand il n'y a pas d'exception. p>
Je voulais obtenir le code HTML à partir de l'erreur renvoyée par le serveur. p>
Je suppose que je devrai espérer que l'erreur ne dépasse pas 65536 caractères ... p>
Vous pouvez trouver une réponse dans ce sujet dans Système. NET.HTTPWEBRESPONSE.GETRESPONSESTREAM () Retourne le corps tronqué dans WebException
Vous devez gérer le httpwebrequest code> objet et modifier
par défautMAximumimumimumimumerResponselength code> Propriété.
Par exemple: p>
Avez-vous regardé la chaîne de résultats? On dirait-il qu'il manque quelque chose qui manque? Selon le codage utilisé, la longueur d'octets (en octets) peut ne pas correspondre au nombre de caractères renvoyés de Readtoend () (c'est-à-dire s'il utilise deux octets par caractère, etc.)
Merci d'avoir posté le problème réel. Donc, le problème est que le corps de réponse d'une exception WebException est tronqué.
@John: Oui, je suis d'accord que ma question aurait pu être plus claire.
Pour les futurs visiteurs: réellement résoudre ce problème plutôt que de l'espoir que cela ne vous arrive pas; S'il vous plaît voir Stackoverflow.com/Questtions/4918107/...