導航:首頁 > 配伺服器 > c如何獲取伺服器ip

c如何獲取伺服器ip

發布時間:2023-01-22 16:48:34

『壹』 請問 c語言怎樣獲取計算機ip地址啊

struct in_addr addr;
hostent *pHost = ::gethostbyname("localhost");//在此寫入你自己電腦主機名字
switch (pHost->h_addrtype) {
case AF_INET:
printf("internet網路地址類型(AF_INET)\n");
break;
case AF_INET6:
printf("internet網路地址類型(AF_INET)\n");
break;
case AF_NETBIOS:
printf("netbios網路地址類型(AF_NETBIOS)\n");
break;
default:
printf("其它地址類型 %d\n", pHost->h_addrtype);
break;
}
printf("\t地址長度: %d(位元組)\n", pHost->h_length);
addr.s_addr = *(u_long *) pHost->h_addr_list[0];
printf("\t第一個IP地址為: %s\n", inet_ntoa(addr));

『貳』 請問 , 用c語言怎樣獲取ip地址啊 謝謝了

看你要獲得那裡的ip地址
如果是本及機的話,就使用windows的API啊

#include "winsock.h"
WORD wVersionRequested;
WSADATA wsaData;
char name[255];
char* ip;
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 2, 0 );
if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
{
if( gethostname ( name, sizeof(name)) == 0)
{
if((hostinfo = gethostbyname(name)) != NULL)
{
ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list);
}
}
// ip is ready
WSACleanup( );
}

『叄』 編程:C語言編程取得本機ip地址

#include "stdio.h"
#include "conio.h"
main()
{
int i,j;
char ip[20];
char temp[100];
char ch='\0';
FILE *fp;
system("ipconfig >d:\\myip.txt");
if ((fp=fopen("d:\\myip.txt","r"))==NULL)
{
printf("the file can not open:\nPress any key to exit:");
getch();
exit(1);
}
for (i=0;i<7;i++)
{fgets(temp,80,fp); /*跳過一些行*/
/*printf("%s\n",temp); */}
fgets(temp,80,fp);
i=0;j=0;
while (temp[i++]!=':')
;
while (temp[i]!='\n')
ip[j++]=temp[i++];
ip[j]=0;
printf("IP=%s\n",ip);
fclose(fp);
system("del d:\\myip.txt");

getch();
}

『肆』 用C語言編寫程序如何獲得外網的IP的地址

//通過ip138網站來查詢外網IP的
#include <afxinet.h>
void CLanChatDlg::GetNetIP()
{

SetDlgItemText(IDC_NET_IP,"正在獲取外網IP");
CString strsource;
CString Address;
CInternetSession mySession(NULL,0);
CHttpFile* myHttpFile=NULL;

Address="http://www.ip138.com/ip2city.asp";//ip138網頁

myHttpFile=(CHttpFile*)mySession.OpenURL(Address);//讀取網路地址

while(myHttpFile->ReadString(strsource))
{ //循環讀取下載來的網頁文本
// AddToLog(strsource);
int begin=0;
begin=strsource.Find("[",0);

if(begin!=-1)//如果找到"[", 則找"]" 中括弧內的文本則是 你的外網ip
{ int end=strsource.Find("]");
m_internetip=strsource.Mid(begin+1,end-begin-1);//提取外網ip

SetDlgItemText(IDC_NET_IP,m_internetip);//在左下角顯示外網ip
}
}

『伍』 怎麼用c或者c++代碼獲取默認DNS伺服器的ip

這里的代碼可以列印出電腦默認的DNS伺服器

#pragmawarning(disable:4996)
#include<stdio.h>
#include<WinSock2.h>
#include<iphlpapi.h>

#pragmacomment(lib,"IPHLPAPI.lib")
#pragmacomment(lib,"ws2_32.lib")
intmain()//獲取本地主機名、域名和DNS伺服器信息
{
//聲明變數
FIXED_INFO*FixedInfo;//定義保存本地計算機網路參數信息的結構體指針
ULONGulOutBufLen;//保存獲取到的本地計算機網路參數信息結構體鏈表的長度
DWORDdwRetVal;//調用GetNetworkParams()函數的返回值
IP_ADDR_STRING*pIPAddr;//保存所有DNS伺服器的IP地址列表

FixedInfo=(FIXED_INFO*)GlobalAlloc(GPTR,sizeof(FIXED_INFO));//為FixedInfo結構體分配內存空間
ulOutBufLen=sizeof(FIXED_INFO);//初始化ulOutBufLen變數值

//第1次調用GetNetworkParams()函數,獲取返回結果的大小到ulOutBufLen中
if(ERROR_BUFFER_OVERFLOW==GetNetworkParams(FixedInfo,&ulOutBufLen))
{
GlobalFree(FixedInfo);
FixedInfo=(FIXED_INFO*)GlobalAlloc(GPTR,ulOutBufLen);
}

//第2次調用GetNetworkParams()函數,以前面獲取的ulOutBufLen作為參數,
if(dwRetVal=GetNetworkParams(FixedInfo,&ulOutBufLen)!=ERROR_SUCCESS)
{
printf("調用GetNetworkParams()函數失敗。返回值:%08x ",dwRetVal);
}
else
{
printf(" DNS伺服器列表: ");
printf("%s ",FixedInfo->DnsServerList.IpAddress.String);

pIPAddr=FixedInfo->DnsServerList.Next;
while(pIPAddr)
{
printf(" %s ",pIPAddr->IpAddress.String);
pIPAddr=pIPAddr->Next;
}
}
printf("按下回車鍵結束 ");
getchar();
return0;
}

『陸』 如何只用C語言,通過域名得到IP地址

#include<stdio.h>//printf
#include<string.h>//memset
#include<stdlib.h>//forexit(0);
#include<sys/socket.h>
#include<errno.h>//Forerrno-theerrornumber
#include<netdb.h>//hostent
#include<arpa/inet.h>

inthostname_to_ip(char*,char*);

intmain(intargc,char*argv[])
{
if(argc<2)
{
printf("");
exit(1);
}

char*hostname=argv[1];
charip[100];

hostname_to_ip(hostname,ip);
printf("%sresolvedto%s",hostname,ip);

printf(" ");

}
/*
Getipfromdomainname
*/

inthostname_to_ip(char*hostname,char*ip)
{
structhostent*he;
structin_addr**addr_list;
inti;

if((he=gethostbyname(hostname))==NULL)
{
//getthehostinfo
herror("gethostbyname");
return1;
}

addr_list=(structin_addr**)he->h_addr_list;

for(i=0;addr_list[i]!=NULL;i++)
{
//Returnthefirstone;
strcpy(ip,inet_ntoa(*addr_list[i]));
return0;
}

return1;
}

『柒』 怎麼用c或者c++代碼獲取默認DNS伺服器的ip

#include<windows.h>
#include<string>
#include<cstdio>
using namespace std;
int main()
{
system("ipconfig /all");//使用運行CMD.exe,並輸入ipconfig /all,可得出本機所有物理地址信息(IP信息)
getchar();//獲取記錄信息
return 0;
}

『捌』 請問 C# 如何獲取外網IP

本機是獲取不到自己外網IP的,真的想要知道,你可以訪問ip138這種網站,讓這種網站獲得你的IP再返回給你。有點兒像自己的眼睛是看不到自己長啥樣,想要看得是鏡子「獲得」你的樣子,然後再返還給你一樣。

路由什麼的是基於NAT的,根本不需要知道客戶端的真實地址是什麼,服務端地址固定住就好了。當客戶端與服務端連接時(建立Sockets)經過路由,路由會NAT給客戶端一個地址(包含IP和埠號兩部分),服務端只需要往這個地址上發送信息,路由器識別你這個地址會自動轉發給相應的真正的客戶端的,這也就是路由的本身作用。

『玖』 怎麼用C語言獲取Linux系統的網卡IP地址

man exec 裡面的函數可以用來執行命令

『拾』 編程:C語言編程取得本機ip地址

取本地地址
可以從「開始」-「程序」-「附件」-「命令提示符」裡面輸入英文「ipconfig/all」就可得到IP地址了,LINUX我也不太懂了。

閱讀全文

與c如何獲取伺服器ip相關的資料

熱點內容
大型雲伺服器有哪些 瀏覽:466
解壓版三國街機 瀏覽:423
去中心化app裡麵包含什麼 瀏覽:948
密鑰安裝命令行 瀏覽:505
文獻編譯英文 瀏覽:659
php調用瀏覽器 瀏覽:527
數控車床編程初學實例 瀏覽:949
cad中篩選命令是什麼 瀏覽:800
數控銑床法蘭克編程 瀏覽:330
怎麼樣分解壓縮包圖標 瀏覽:619
php兩年工作經驗簡歷 瀏覽:765
怎麼提前解壓房貸 瀏覽:699
反詐宣傳app哪裡可以拿到用戶資料 瀏覽:856
華為交換機命令配置 瀏覽:12
電機pid演算法實例c語言 瀏覽:974
安裝ue5未找到金屬編譯器 瀏覽:965
l1壓縮性骨折微創手術 瀏覽:617
看電腦配置命令 瀏覽:110
單片機調用db數值偏移量 瀏覽:447
賓士smart車型壓縮機功率 瀏覽:529