Mehrere Sachen in Deinem Code fallen mir auf.
1.) Du definierst ein Array char msg[20], übergibst aber beim Aufruf "numdata=inet.httpGET("www.google.de", 80, "/", msg, 50);" eine Puffergröße von 50 Bytes, statt der 20 Bytes des Arrays. Damit überschreibt die Funktion alle 30 Bytes hinter dem Array im Speicher. Das kann zu sehr spannenden Ergebnissen führen.
2.) Die Ausgabe der empfangenen Zeichen ist deutlich mehr als 50 Zeichen, von welchem Code werden die denn ausgegeben?
3.) Warum sollte das Programm mit DNS nicht klar kommen? Du bekommst eine Antwort vom Google-Webserver, also klappt DNS doch, sonst würde gar nix zurück kommen. Die Antwort ist ein HTTP 302 Redirect auf http://www.google.de. Das passiert z.B. auch wenn man einen HTTP-Request per telnet simuliert:
telnet www.google.de 80
Trying 209.85.147.94...
Connected to www-cctld.l.google.com.
Escape character is '^]'.
GET / HTTP/1.0HTTP/1.0 302 Found
302 Moved
Location: http://www.google.de/
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Set-Cookie: PREF=ID=be4d6a2fb8e1fc75:FF=0:TM=1334861125:LM=1334861125:S=lkBvT9ZrB0NjYAxk; expires=Sat, 19-Apr-2014 18:45:25 GMT; path=/; domain=.google.com
Set-Cookie: NID=58=to_a07wmRSi1obtjhkconKlD46PR7rgfSwy1T4kgZVbztkFfyPWgozoACZ1fvEh5GzrZ9s8sBewpmsbGGK5PcV6RQp8Cowl-C6y4aQao16a6CdLXU_DTxlaLjBbIz3hc; expires=Fri, 19-Oct-2012 18:45:25 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See P3P and Google's cookies - Google Account Help for more info."
Date: Thu, 19 Apr 2012 18:45:25 GMT
Server: gws
Content-Length: 218
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN302 Moved
The document has moved here.
Das passiert deshalb, weil beim HTTP-Request der Parameter "Host: www.google.de" nicht mitgesendet wird. Damit anwortet Google mit dem Redirect. Was bei Deinem Beispiel fehlt ist ein Teil vom HTTP-Header, da bei Dir nach 20 Zeichen Schluss ist. Mach mal den msg[] Puffer deutlich größer und übergib bei inet.httpGET() die Größe die der Puffer hat.
Mario.