поэтому я создал скрипт php, который возвращает IP-адрес пользователя, и когда я открываю его в браузере, он возвращает IP-адрес IPV6 (если у пользователя есть IPV6 или он вернет IPV4).
Но когда я делаю URLConnection к той же ссылке, используя Java, он выводит IPV4.
Это код, который я использую в своем java-приложении вместе с URL-адресом моего сайта.
String ip = new JSONObject(new BufferedReader(new InputStreamReader(LynxClient.getConnection(new URL("https://lynxclient.com/getip.php")).getInputStream())).readLine()).getString("ip");
System.out.println(ip);
public static HttpsURLConnection getConnection(URL url) throws IOException {
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("GET");
conn.setRequestProperty("User-Agent", "Mozilla/4.76");
conn.setUseCaches(false);
return conn;
}
и вот мой PHP-код для моего сайта.
<?php
$ip = null;
if (!empty($_SERVER['HTTP_CF_CONNECTING_IP'])) {
$ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
echo json_encode(array('ip' => $ip));
Так что моя проблема в браузере, и мое java-приложение возвращает неправильный IP-адрес, который я хочу, чтобы они оба были одинаковыми, я не уверен, что здесь не так, я проверил некоторые темы, созданные на SO, относительно этого, но ни один не имеетпомог мне до сих пор.