2012-10-05 3 views
0

J'ai écrit une application qui explore un certain site Web pour information.Httpwebrequest renvoie des résultats différents sur 3g/2g que WiFi

En WiFi ou dans mon émulateur, cela fonctionne parfaitement.

Je réalise un httpwebrequest, et lit chaque ligne et les place dans une liste, je peux ensuite parcourir cette liste et trouver les données dont j'ai besoin.

Cependant, lorsque j'essaie la même chose sur 2G ou 3G, la requête web renvoie tout le code HTML sur une seule ligne, ce qui casse tout mon code.

Est-ce que quelqu'un sait pourquoi c'est le cas ou s'il y a de toute façon pour moi de contourner cela sans réécrire la plupart de mon code.

Répondre

2

Votre fournisseur intercepte probablement votre demande et en supprime tous les caractères inutiles, pour accélérer la connexion Internet et produire moins de trafic. C'est une pratique courante. Si cela casse votre code, alors vous devriez plutôt identifier pourquoi la suppression des espaces blancs et des caractères comme celui-ci casse votre code.

Vous ne pouvez rien y faire. Vous devriez réécrire votre code pour qu'il soit moins restrictif.

+0

Codage paresseux je suppose. Je vais utiliser un XDocument à la place. – boburob

+0

Oui, s'attendre à ce que les espaces blancs et les sauts de ligne soient là est une mauvaise pratique courante. Si ma réponse vous aide, n'hésitez pas à la marquer comme réponse. :) – SomebodyYouKnow

+0

XDocument est un mauvais moyen d'analyser des documents HTML, car HTML n'est pas un code XML valide. Vous devriez plutôt utiliser le HTTP Agility Pack, qui fournit d'excellents moyens d'analyser le HTML. – SomebodyYouKnow

Questions connexes