Ganz kurz mal den Klugscheißer ;.)
gethostbyname hat mit HTTP nichts zu tun, sondern löst per DNS einen Namen zu einer IP Adresse auf. Anschließend kann man sicher auch HTTP machen ...
Die PHP Funktionen wie z.B. fopen auf HTTP senden per Default "php x.y.z" als UA mit, wenn ich mich da richtig erinnere.
Ohne User-Agent ist es IMHO einfach eine defekte Software, ganz egal ob Internt-Security-Suite, Skript oder Webbrowser. Am besten zeigt man denen einfach nur einen Screen "Ihr Webbrowser oder Internet-Schutzsoftware ist defekt: bitte reparieren und wiederkommen."