Random numbers recived by wifi shield
The fault lies here:

while(client.available()) {
  serverReturn += client.read();
}


client.read() returns an integer. That integer is either the ASCII code of the next character in the buffer, or -1 if there are no characters in the buffer left to read.

You then append that integer to the end of a String which gets converted to the ASCII representation of that integer before being appended.

So the string HTTP, for instance, which is ASCII characters 72, 84 (twice) and 80 ends up as "72848480".

Instead you need to cast the integer to a char before appending:

serverReturn += (char)client.read();


Or better still don't use any String variables at all and parse the data as it comes in pulling out any information you need to at the time it arrives.