得到自己的公网IP C代码

#include "stdafx.h"
BOOL GetPubIp(char *ip);
int main()
{
char myip[32]={0};
GetPubIp(myip);
cout<<myip<<endl;
return 0;
}
BOOL GetPubIp(char *ip)
{
HINTERNET hInternet=NULL;
HINTERNET hConnect=NULL;
char szText[512]={0};
char *szAccept="Accept: */*\r\n\r\n";
char *szUrl="http://www.ip138.com/ip2city.asp";
DWORD dwReadLen=0;
__try
{
   hInternet=InternetOpen("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",0,NULL,NULL,0);
   if(!hInternet)
    __leave;
   hConnect=InternetOpenUrl(hInternet,szUrl,szAccept,strlen(szAccept),INTERNET_FLAG_DONT_CACHE|INTERNET_FLAG_PRAGMA_NOCACHE|INTERNET_FLAG_RELOAD,0);
   if(!hConnect)
    __leave;
   InternetReadFile(hConnect,szText,512,&dwReadLen);
}
__finally
{
   if(hInternet)
    InternetCloseHandle(hInternet);
   if(hConnect)
    InternetCloseHandle(hConnect);
}
char *start=strstr(szText,"您的IP地址是:[");
if(!start)
   return FALSE;
start=start+15;
char *temp=strstr(start,"]");
strncpy(ip,start,temp-start);
return TRUE;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蜗牛的信仰

您的鼓励,将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值