JV Skrevet 29. november 2006 Skrevet 29. november 2006 Hei Jeg trenger i forbindelse med jobb å hente ut ipadressen min fra www.whatismyip.com. Kan såklart gå til den siden å se ip'n, men jeg prøver heller å samle infoen i ett eksisterende overvåkningssystem. Hvordan går jeg frem for å hente ut akkurat ipadressen på den siden?
ilpostino Skrevet 29. november 2006 Skrevet 29. november 2006 (endret) hvilkent os/webserver bruker du? edit: du skal kunne gjøre slik: $ip = $_SERVER['REMOTE_ADDR']; Endret 29. november 2006 av ilpostino
JV Skrevet 29. november 2006 Forfatter Skrevet 29. november 2006 Det er ikke ipadressen på serveren som kjører siden jeg vil vite.. men ip'n på proxyserveren.. sett utenfra...
Martin A. Skrevet 29. november 2006 Skrevet 29. november 2006 $_SERVER['REMOTE_ADDR'] viser ip-adressen til klienten, ikke server. Etter litt kikking i manualen fant jeg denne snutten: if ($_SERVER['HTTP_CLIENT_IP']) { $IP = $_SERVER['HTTP_CLIENT_IP']; } elseif ($_SERVER['HTTP_X_FORWARDED_FOR']) { $IP = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif ($_SERVER['HTTP_X_FORWARDED']) { $IP = $_SERVER['HTTP_X_FORWARDED']; } elseif ($_SERVER['HTTP_FORWARDED_FOR']) { $IP = $_SERVER['HTTP_FORWARDED_FOR']; } elseif ($_SERVER['HTTP_FORWARDED']) { $IP = $_SERVER['HTTP_FORWARDED']; } else { $IP = $_SERVER['REMOTE_ADDR']; } Finner ikke den noen proxyservere, vil den vise brukerens ip. Tror jeg.
JV Skrevet 30. november 2006 Forfatter Skrevet 30. november 2006 (endret) Fikk ingen ip om jeg dro en "echo $ip;" etter dette. Når jeg forsøkte en og en var det kun den siste 'remote_addr' som ga en ip... Men uansett... er det ingen som kan fortelle meg hvordan jeg henter ut en spesiell tekst eller ett tall (i dette tilfellet en IP-adresse) fra ett annet nettsted? Denne gangen vil jeg da altså ha ip'adressen som står på www.whatismyip.com... Endret 30. november 2006 av JV
ZoRaC Skrevet 30. november 2006 Skrevet 30. november 2006 (endret) <?php $text = strip_tags(file_get_contents("http://cgi.tele2.no/cgi-bin/ip.cgi")); $textArray = explode(":", $text); // Kan sikkert løses med REGEXP, men det kan jeg ikke :P echo $textArray[1]; ?> Ikke testet... Valgte Tele2 sin, da denne er mye lettere, da den har mindre tekst å strippe bort. Endret 30. november 2006 av ZoRaC
JV Skrevet 30. november 2006 Forfatter Skrevet 30. november 2006 (endret) Dette begynner å ligne... bortsett fra at det ikke funket hos meg... Fatal error: Call to undefined function file_get_contens() in C:\wamp\www\test\index.php on line 2 EDIT: Skrivefeil ser jeg... skal være file_get_contents ? tester nå... Endret 30. november 2006 av JV
JV Skrevet 30. november 2006 Forfatter Skrevet 30. november 2006 hmmmm... Warning: file_get_contents(http://cgi.tele2.no/cgi-bin/ip.cgi) [function.file-get-contents]: failed to open stream: Et tilkoblingsforsøk mislyktes fordi den tilkoblede parten ikke svarte på riktig måte etter en tidsperiode, eller den etablerte tilkoblingen mislyktes fordi den tilkoblede verten ikke svarte. in C:\wamp\www\test\index.php on line 2 Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\test\index.php on line 2
Jonhoo Skrevet 30. november 2006 Skrevet 30. november 2006 Skal vi se om vi faar det til da.. PHP <?php $page = file_get_contents('http://www.whatismyip.com'); preg_match ("/displaycopy\('(.*)'\)/U", $page, $matches); $ip = $matches[0]; ?> Tror den skal funke
JV Skrevet 30. november 2006 Forfatter Skrevet 30. november 2006 Med den siste der får jeg: Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Kjenner ingen slik vert. in C:\wamp\www\test\index.php on line 2 Warning: file_get_contents(http://www.whatismyip.com) [function.file-get-contents]: failed to open stream: No error in C:\wamp\www\test\index.php on line 2
Martin A. Skrevet 30. november 2006 Skrevet 30. november 2006 Skal vi se om vi faar det til da.. PHP <?php $page = file_get_contents('http://www.whatismyip.com'); preg_match ("/displaycopy\('(.*)'\)/U", $page, $matches); $ip = $matches[0]; ?> Tror den skal funke 7391201[/snapback] Den viste også "displaycopy()", men om man endret den slik, så kom kun ip. <?php $page = file_get_contents('http://www.whatismyip.com'); preg_match_all ("/displaycopy\('(.*)'\)/U", $page, $matches); $ip = $matches[1][0]; //print_r($matches); echo $ip; ?> JV: At du ikke får bruke enkelte funksjoner er pga php.ini. Ta et googlesøk på feilmeldingen, så kommer det sikkert opp en måte å fikse det på.
JV Skrevet 30. november 2006 Forfatter Skrevet 30. november 2006 (endret) Tusen takk for hjelpen alle sammen... ble denne til slutt: <?php $page = file_get_contents('http://www.whatismyip.com'); preg_match_all ("/displaycopy\('(.*)'\)/U", $page, $matches); $ip = $matches[1][0]; //print_r($matches); echo $ip; ?> den funket fint hjemme.. men ikke på jobb.. hmm.. merkelig... btw. Noen som gidder å prøve å forklare meg hvordan jeg bruker preg_match_all? Virker utrolig spennende... nesten som magi Jeg prøvde å lese på php.net men forstod desverre ikke stort mer av det... Endret 30. november 2006 av JV
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå