Pour un projet en Java, j'utilise une adresse IP d'utilisateurs comme un identifiant unique pour un site Web. Tout fonctionne correctement lorsqu'un utilisateur n'a qu'une adresse IPv4.Rendre Java signal une adresse IPv6 instable de IPv4
Mais voici mon problème, lorsqu'un utilisateur a une adresse IPv6, Java signalera une adresse IPv4, alors que son navigateur signalera une adresse IPv6 (Dans l'appel $ _SERVER ['REMOTE_ADDR'] en PHP).
Alors, comment puis-je rendre Java signaler son adresse IPv6 instable de IPv4?
Edit: Quelques précisions:
Ceci est utilisé uniquement pour permettre à une personne de télécharger un fichier. Peu importe si plusieurs personnes utilisent le même PC, pas vraiment important.
Supposons qu'un utilisateur passe à http://whatismyipaddress.com/ avec du chrome, il affichera une adresse IPv6. Mais si j'utilise maintenant Java pour récupérer http://whatismyipaddress.com/, il affichera une adresse IPv4. Pourquoi cela et comment puis-je afficher l'adresse IPv6 affichée dans Chrome?
Edit 2: Le code i utiliser
public static String get(String url) throws WebFetchException {
String result = "";
try {
URL url1 = new URL(url);
HttpsURLConnection urlConn = (HttpsURLConnection) url1.openConnection();
urlConn.setConnectTimeout(8 * 1000);
urlConn.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
String text;
while ((text = in.readLine()) != null) {
result = result + text;
}
in.close();
}
} catch (Exception e) {
throw new WebFetchException("There was an exception while fetching the requested page: " + url);
}
return result;
}
Eh bien tout d'abord, l'adresse IP n'est pas un identifiant (complètement) unique. Pourquoi ne pas simplement stocker l'adresse IP - peu importe si c'est IPv4 ou ipv6? Et que voulez-vous dire par "Java rapportera une adresse IPv4"? –
Votre système ne fonctionnera pas pour plusieurs utilisateurs sur la même machine. –
Comment extraire les données ip, utilisez-vous un type spécifique? Avez-vous du code? –