Je crois que tout est dans le titre. ;)
Par contre, j'ai besoin de confirmations de la part de personnes ayant un routeur et/ou un proxy, pour être sûr que ça fonctionne.
La technique n'est certainement pas la plus fiable, mais on fait ce qu'on peut avec ce qu'on a.
J'attends vos commentaires et remarques avec impatience.
Pensez à renommer l'exécutable de *.ex_ en *.exe !!!
Source / Exemple :
/*================= Pour extraire la première adresse IP trouvée dans une chaine ================*/
char * Extraire_IP(char * Chaine)
{
char * Add_IP;
/*=====*/
Add_IP = strstr(Chaine, "<BODY>") + 7;
int i = 0;
while(Add_IP[i] != '<' && Add_IP[i + 1] != '/' && i < strlen(Add_IP) - 1) i++;
return Left(Add_IP, i);
}
/*=============================== Pour récupérer votre IP Internet ==============================*/
char * IP_Internet()
{
SOCKET W_IP;
IN_ADDR Adresse;
SOCKADDR_IN SockAddrIn;
HOSTENT * Hote;
WSADATA WSAData;
static char Buffer[1024];
static char IP[16];
//-----//
WSAStartup(0x0202, &WSAData);
W_IP = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
Hote = gethostbyname("siteayoyo.free.fr");
memcpy(&Adresse, Hote -> h_addr, Hote -> h_length);
SockAddrIn.sin_family = AF_INET;
SockAddrIn.sin_port = htons(80);
SockAddrIn.sin_addr = Adresse;
if(connect(W_IP, (SOCKADDR *)&SockAddrIn, sizeof(SockAddrIn))) return "Erreur de connexion !";
strcpy(Buffer, "GET http://siteayoyo.free.fr/ip.php HTTP/1.0\n\n"); // la requête http
send(W_IP, Buffer, strlen(Buffer), 0);
recv(W_IP, Buffer, sizeof(Buffer), 0);
closesocket(W_IP);
WSACleanup();
strcpy(IP, Extraire_IP(Buffer));
return IP;
}
Conclusion :
Rien de spécial.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.