WiShield & find() function

I dont understand why resultat changes though

It's how strtok() works. You always make a copy of the original data for parsing, if it is necessary to preserve the original data.

void printData(char* data, int len)
{
Serial.println("printData ==>");
// snipped
Serial.println("printData <==");
}
We need to know when the function is being called!