PHP Curl, Server-IP-Adresse abrufen

7

Ich benutze PHP CURL, um eine Anfrage an einen Server zu senden. Was muss ich tun, damit die Antwort vom Server die IP-Adresse dieses Servers enthält?

    
Beier 02.09.2009, 19:50
quelle

6 Antworten

15

Diese kann mit der Funktion "curl" durchgeführt werden, mit dem Vorteil, dass neben der curl-Anfrage / Antwort kein anderer Netzwerkverkehr verfügbar ist. DNS-Anfragen werden durch curl gemacht, um die IP-Adressen zu erhalten, die im ausführlichen Bericht zu finden sind. Also:

  • Aktivieren Sie CURLOPT_VERBOSE.
  • Direktes CURLOPT_STDERR zu a " php: // temp " Stream-Wrapper-Ressource.
  • Verwenden Sie preg_match_all () , parsen Sie die String-Inhalt der Ressource für die IP Adresse (n).
  • Die Adressen der antwortenden Server werden in der Null-Taste des Match-Arrays sein Subarray.
  • Die Adresse des übergebenden Servers der Inhalt (vorausgesetzt, ein erfolgreicher Anfrage) kann mit abgerufen werden Ende () . Irgendein Eingreifen Die Adressen der Server werden ebenfalls angezeigt das Subarray, in der Reihenfolge.

Demo:

%Vor%     
GZipp 03.09.2009, 01:31
quelle
3

Ich glaube nicht, dass es eine Möglichkeit gibt, die IP-Adresse direkt aus der Locke zu bekommen.
Aber so etwas könnte den Trick machen:

Zuerst machen Sie die Curl-Anfrage und verwenden curl_getinfo , um die "echte" URL zu erhalten, die abgerufen wurde - das ist weil die erste URL zu einer anderen URL umleiten kann und Sie die letzte URL haben möchten:

%Vor%

Verwenden Sie dann parse_url , um den "Host" -Teil von dieser endgültigen URL zu extrahieren:

%Vor%

Und schließlich, verwenden Sie gethostbyname , um die IP-Adresse zu erhalten, die diesem Host entspricht:

%Vor%

Nun ...
Das ist eine Lösung ^^ Es sollte in den meisten Fällen funktionieren, nehme ich an - obwohl ich nicht sicher bin, dass Sie immer das "richtige" Ergebnis erhalten würden, wenn es einen Lastausgleichsmechanismus gibt ...

>     
Pascal MARTIN 02.09.2009 20:07
quelle
3
%Vor%

Damit erhalten Sie alle IP-Adressen, die mit dem angegebenen Hostnamen verknüpft sind.

    
Alix Axel 02.09.2009 20:25
quelle
3

Ich denke, Sie sollten in der Lage sein, die IP-Adresse vom Server mit zu bekommen:

%Vor%     
mmttato 11.10.2016 01:04
quelle
0

AFAIK Sie können den Server nicht zwingen, Ihnen seine IP-Adresse in der Antwort zu senden. Warum nicht direkt nachsehen? (Überprüfen Sie diese Frage / Antworten dafür, wie man das von PHP macht )

    
Henrik Opel 02.09.2009 20:00
quelle
-1

Ich habe dieses benutzt

%Vor%

von hier: Ссылка

    
alekone 26.12.2010 15:16
quelle

Tags und Links