[Python] Pobieranie adresu IP

Dzień dobry.

google -> “get ip in python”.

Ok, znalazłem rozwiązanie które jest uzależnione od zewnętrznych serwisów. Istnieje takie które nie potrzebuje zewnętrznych źródeł?

Nope.

Do zewnętrznego adresu potrzeba zewnętrznego serwera.

A jeśli zrobię skrypt na serwerze w PHP który pobiera adres za pomocą:

$client_ip = $_SERVER["REMONTE_ADDR"];

a następnie zapisze to do pliku i dopiero użyje Pythona?

w pythonie możesz pobierać dane z serwera. Nie musisz nic do pliku zapisywać

Zrobiłem tak jak napisałem powyżej i gdy uruchamiam skrypt ręcznie wszystko jest ok. Niestety gdy CRON uruchamia skrypt w miejscu IP jest puste pole. Czyli takie rozwiązanie nie ma prawa działać.

Nie żeby coś, ale tam chyba nie jest 

REMONTE

tylko

REMOTE (bez N). 

 

Inną kwestią jest bezsens zapisywania do pliku. Zwyczajnie, jako RESPONSE ustawiasz pobrany adres. 

Powiem tak, ze strony klienta powinieneś wysłać zapytanie do serwera z id użytkownika i jakimś uwieżytelnieniem i tyle. Serwer dostanie ip w w/w zmiennej które zapisujesz do bazy. W wypadku zapytania serwera o identyfikator zwracasz to ip. Większość dzieje się po stronie serwera. Klient ma wysyłać tylko swój identyfikator, żadnych ftp ani cronów (no chyba że cronem będziesz skrypt na kliencie uruchamiał, jednak w tym wypadku w zależności od systemu możesz zapytanie przesyłać bezpośrednio z konsoli bez swojego programu)