c ++ - Ekstern IP-adresse

Indlæg af Hanne Mølgaard Plasc

Problem




   Mulig duplikat:

  Stabil måde at hente den eksterne IP på for en vært bag en NAT





Nå, hej igen. Jeg spekulerede på, hvordan får jeg den eksterne IP-adresse (ekstern, da nogle mennesker har router) på computeren?

Bedste reference


Her er en måde at bruge brugerens forslag på ... Selvfølgelig virker dette kun for din egen ip, som du også kunne bestemme ved at åbne kommandoprompten og køre ipconfig /all


#include <windows.h>
#include <wininet.h>
#include <iostream>

#pragma comment(lib, "wininet")

int main(int argc, char* argv[])
{
    HINTERNET hInternet, hFile;
    DWORD rSize;
    char buffer[32];

    hInternet = InternetOpen(NULL, INTERNET\_OPEN\_TYPE\_PRECONFIG, NULL, NULL, 0);
    hFile = InternetOpenUrl(hInternet, "http://automation.whatismyip.com/n09230945.asp", NULL, 0, INTERNET\_FLAG\_RELOAD, 0);
    InternetReadFile(hFile, &buffer, sizeof(buffer), &rSize);
    buffer[rSize] = '';

    InternetCloseHandle(hFile);
    InternetCloseHandle(hInternet);

    std::cout << "Your IP Address: " << buffer << "
";
    system("pause");
    return 0;
}   


FYI: Ejeren af ​​http://www.whatismyip.com/anmode om, at du kun rammer denne automatiseringsside en gang hvert 5. minut , så jeg føler mig tvunget til at lægge en advarsel for ikke at køre denne kode mere ofte end det også: P [4]


Bemærk: http://automation.whatismyip.com/n09230945.asp er den nyeste adresse til automatiseringsfilen. 5 minutters/300 sekunders regel er stadig på plads. [5]

Andre referencer 1


Skriv et program og brug HTTP-protokollen til at oprette forbindelse til nogle eksterne websteder som denne:
http://www.whatismyip.com/[6]


Skriv så en parser for at analysere:
Din IP-adresse er: xxx.xxx.xxx.xxx


Voila.