Ich benutze curl in php, um whois-anforderungen zu stellen. Meistens funktioniert das gut, aber der gelegentliche Whois-Server lehnt CURL-Anfragen ab, weil sie ein ungültiges Format verwenden.curl whois ohne header
Dies ist ein funktionierendes Beispiel:
curl -X "who-is.ga" whois.my.ga:43
Diese auf der anderen Seite nicht funktioniert:
curl -X "ikea.eu" whois.eu:43
Die EU whois-Server ablehnen s das Format, denn (es erscheint) alle Header in der Anforderung enthalten, das heißt:
WHOIS ikea.eu/HTTP/1.1User-Agenten: curl/7.19.7 (x86_64-RedHat-Linux -gnu) libcurl/7.19.7 NSS/3,21 Basis ECC zlib/1.2.3 libidn/1,18 libssh2/1.4.2Host: whois.eu:43Accept: /
Während die meisten whois-Server die Anfrage analysieren bis einige nehmen die gesamte Anfrage in Betracht.
Also dachte ich, um die zusätzlichen Header zu entfernen, konnte aber nur den Benutzer-Agent und Host entfernen.
curl -X "ikea.eu" --header "Host:" --header "Accept:" --user-agent "" whois.eu:43
Aber die Header "/" und "HTTP/1.1" bleiben erhalten.
% WHOIS ikea.eu/HTTP/1.1 -7:% Ungültige Muster
Irgendwelche Vorschläge, wie alle Header stumm zu schalten, nur effektiv den Inhalt von "X" zu senden oder, wie man einzeln unerwünschte Header fallen lassen?
NB: Ich benutze curl für Whois-Anfragen, weil es mir erlaubt, Proxies zu verwenden. Ich habe diesen Teil absichtlich aus den obigen Beispielen herausgelassen.
Beachten Sie, dass 'whois' ein Protokoll über TCP transportiert wird, nicht HTTP. Wenn Sie also ein HTTP-Tool verwenden, um es abzufragen, wie 'curl', wird es Schwierigkeiten geben. Siehe auch https://stackoverflow.com/a/45286777/6368697 –