如何获取本机在Internet上的IP地址?

Cuiyc 2003-08-27 07:46:27
如何获取本机在Internet上的IP地址?用BCB实现程序代码请列出。
...全文
266 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
desnoc 2004-03-26
  • 打赏
  • 举报
回复
up
supwjhuLoveCjj 2003-10-25
  • 打赏
  • 举报
回复
学习中
gdy119 2003-10-22
  • 打赏
  • 举报
回复
还有一个方法:
很简单
一步到位:void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (Powersock1->LocalIP == "0.0.0.0")
ShowMessage("not connected");
else
ShowMessage(Powersock1->LocalIP);
}
gdy119 2003-10-22
  • 打赏
  • 举报
回复
我建议直接用Windows Socket ApI 相关函数来获取主机在INTERNET 上的IP地址;
建议使用GetHostIPAddress()中完成楼主说的功能;
swites 2003-10-22
  • 打赏
  • 举报
回复
赞成楼上!
编译失败 2003-10-22
  • 打赏
  • 举报
回复
這個問題好多人問過,好像都沒有比較完美的方法,有的只能探測到用Modem撥號的IP,如果使用網關或代理服務器就不行了。我這有個方法是 chifengwatch(chifengwatch) 的原理。使用NMHTTP控件

void __fastcall Tfrmmain::Button1Click(TObject *Sender)
{
NMHTTP1->Get("http://code.helpor.net/mine/ip.php");
AnsiString getIPFromURL = NMHTTP1->Body;
Edit1->Text=getIPFromURL.SubString(getIPFromURL.Pos("(")+2,getIPFromURL.Pos(")")-getIPFromURL.Pos("(")-3);
}
Lewolf 2003-10-22
  • 打赏
  • 举报
回复
API函数gethostbyname
hostent结构中有本机IP的列表,其中属于Internet的IP需要程序判断。
coolbcb2 2003-10-20
  • 打赏
  • 举报
回复
guangzhu
tanfire2003 2003-10-10
  • 打赏
  • 举报
回复
TWSAData WSData;
if (WSAStartup(MAKEWORD(1,1),&WSData)!=0)
{ ShowHintTxt("获取本机IP地址失败!请查看网络连接是否正常!");
return ;
}
char HostName[80];
LPHOSTENT lpHostEnt;
struct in_addr addr;
memset(&addr,0,sizeof(in_addr)); //对in_addr结构清0,以利后面填写
if (gethostname(HostName,sizeof(HostName))==SOCKET_ERROR)
{ ShowHintTxt("获取本机IP地址失败!请查看网络连接是否正常!");
return ;
}

lpHostEnt=gethostbyname(HostName);//利用得到的主机名去获得主机结构
if (!lpHostEnt){ ShowHintTxt("获取本机IP地址失败!请查看网络连接是否正常!");
return ;
}
AnsiString asIPADDR;
ComboBox6->Items->Clear();
for (int I=0; lpHostEnt->h_addr_list[I]!=0; I++) //从主机地址表中得到IP地址
{ memcpy(&addr,lpHostEnt->h_addr_list[I],sizeof(in_addr));
asIPADDR= inet_ntoa(addr);
ComboBox6->Items->Add(asIPADDR);
}
shark_dim 2003-08-28
  • 打赏
  • 举报
回复
我也想知道!帮你up
zihan 2003-08-27
  • 打赏
  • 举报
回复
呵呵,我可以获得局域网内的Ip地址,不过Internet上面的没有试过,呵呵,帮你Up一下。
warton 2003-08-27
  • 打赏
  • 举报
回复
看看这个http://sanjianxia.myrice.com/vc/vc95.htm
chifengwatch 2003-08-27
  • 打赏
  • 举报
回复
我有个馊主意,写个ASP页面放到INTERNET(可以检测用户IP的),然后写代码打开ASP文件,用来返回你的INTERNET上的IP。楼主别骂我。:)
//关注其他的办法。
gk0205 2003-08-27
  • 打赏
  • 举报
回复
关注~
随便问,如果在局域网内如何获得Internet上的IP地址

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧