hasInternetConnection
Probes whether the device currently has an active internet connection by issuing a lightweight GET to a captive-portal-style endpoint. Any exception (no connection, DNS failure, timeout) is treated as "no connection" rather than propagated.