C++ 外部IP地址

C++ 外部IP地址,c++,windows,ip-address,external,C++,Windows,Ip Address,External,可能重复: 好吧,又来了。我想知道如何获取计算机的外部IP地址(因为有些人有路由器,所以是外部的)?编写一个程序,并使用HTTP协议连接到一些外部网站,例如: 然后编写一个解析器进行解析: 您的IP地址是:xxx.xxx.xxx.xxx 瞧。编写一个程序并使用HTTP协议连接到一些外部网站,例如: 然后编写一个解析器进行解析: 您的IP地址是:xxx.xxx.xxx.xxx 瞧。这里有一种使用用户建议的方法。。。当然,这只适用于您自己的ip,您也可以通过打开命令提示符并运行ipconfig

可能重复:


好吧,又来了。我想知道如何获取计算机的外部IP地址(因为有些人有路由器,所以是外部的)?

编写一个程序,并使用HTTP协议连接到一些外部网站,例如:

然后编写一个解析器进行解析: 您的IP地址是:xxx.xxx.xxx.xxx


瞧。

编写一个程序并使用HTTP协议连接到一些外部网站,例如:

然后编写一个解析器进行解析: 您的IP地址是:xxx.xxx.xxx.xxx


瞧。

这里有一种使用用户建议的方法。。。当然,这只适用于您自己的ip,您也可以通过打开命令提示符并运行
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] = '\0';

    InternetCloseHandle(hFile);
    InternetCloseHandle(hInternet);

    std::cout << "Your IP Address: " << buffer << "\n";
    system("pause");
    return 0;
}   
#包括
#包括
#包括
#pragma注释(lib,“wininet”)
int main(int argc,char*argv[])
{
HINTERNET HINTERNET,hFile;
德沃德·塞兹;
字符缓冲区[32];
hInternet=InternetOpen(NULL,INTERNET\u OPEN\u TYPE\u prefig,NULL,NULL,0);
hFile=InternetOpenUrl(hInternet,“http://automation.whatismyip.com/n09230945.asp,NULL,0,INTERNET\u标志\u重新加载,0);
InternetReadFile(hFile、缓冲区、缓冲区大小和rSize);
缓冲区[rSize]='\0';
InternetCloseHandle(hFile);
InternetCloseHandle(腹地网);

std::cout这里有一种使用用户建议的方法……当然,这只适用于您自己的ip,您也可以通过打开命令提示符并运行
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] = '\0';

    InternetCloseHandle(hFile);
    InternetCloseHandle(hInternet);

    std::cout << "Your IP Address: " << buffer << "\n";
    system("pause");
    return 0;
}   
#包括
#包括
#包括
#pragma注释(lib,“wininet”)
int main(int argc,char*argv[])
{
HINTERNET HINTERNET,hFile;
德沃德·塞兹;
字符缓冲区[32];
hInternet=InternetOpen(NULL,INTERNET\u OPEN\u TYPE\u prefig,NULL,NULL,0);
hFile=InternetOpenUrl(hInternet,“http://automation.whatismyip.com/n09230945.asp,NULL,0,INTERNET\u标志\u重新加载,0);
InternetReadFile(hFile、缓冲区、缓冲区大小和rSize);
缓冲区[rSize]='\0';
InternetCloseHandle(hFile);
InternetCloseHandle(腹地网);

什么平台?什么库?什么?你需要多少路由器才能找到外部IP地址。这是不可能自动告诉的。因此没有通用的方法可以做到这一点。你可以问路由器,但这将是特定于路由器的。好吧,无论如何都可以。我需要通过任何方式获得它。好的,这是语言。什么平台?这很重要。The平台是Windows.Ops,我错过了标签。编辑它。:/什么平台?什么库?什么?你要上多少路由器才能找到外部IP地址。这是无法自动判断的。因此没有通用的方法来做这件事。你可以问路由器,但这将是特定于路由器的。好吧,无论如何都可以。我需要通过任何方式来获取它。好的,那就是这是语言。什么平台?这很重要。平台是Windows。Ops,我错过了标记。编辑它。:/好的想法…让我进一步说明!在一个无关的笔记上,有人知道发生了什么吗?好的想法…让我进一步说明!在一个无关的笔记上,有人知道发生了什么吗?