I have written an app which crawls a certain website for information.
Over WiFi or in my emulator it works perfectly.
I carry out a httpwebrequest, and read each line and put them into a list, I can then loop through this list and find the data I need.
However, when I try the same thing over 2G or 3G the web request return all the HTML in a single line, which breaks all my code.
Does anyone know why it is doing this or if there is anyway for me to get around this without rewriting most of my code.
Your provider is most likely intercepting your request and removing all unnecessary characters from it, to speed up the internet connection and to produce less traffic. That is common practice. If this breaks your code, then you rather should identify why removing white-spaces and characters like this breaks your code.
There is nothing you can do about this. You should rewrite your code to be less restrictive.