Weather API Code

Copy the code below:

<?php

$ip = $_SERVER['REMOTE_ADDR'];  //Hardcoded public IP for testing...need to change to $_SERVER['REMOTE_ADDR'];152.27.44.2

// Check if IP is valid AND public (not private or reserved)
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {

    // Run your API code ONLY if public IP
    $response = file_get_contents("https://ipwho.is/$ip");

    if ($response !== false) {
        $data = json_decode($response, true);

        if (isset($data['success']) && $data['success']) {
            echo "Your public IP is: " . $ip . "<br>";
			echo "Country: " . $data['country'];
            echo "<br>City: " . $data['city'];
			
        } else {
            echo "API lookup failed.";
        }
    } else {
        echo "Could not connect to geolocation service.";
    }

} else {

    // Private / Internal IP
    echo "Your IP address ($ip) is internal (private network).";

}
?>