實現網域名稱解析

2021-07-15 16:48:49 字數 1474 閱讀 5854

編寫程式,使用gethostbyname,getaddrinfo。

//不過你必須保證自己裝置板子的dns配置部分是正常的。

**不一定完全正確,我簡單測試了一下,可以用 。 主要是:bool te_getrealip(char *hostname,char *strrealip),輸入的hostname可以是ip,也可以是網域名稱,strrealip得到真正的ip

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

#include bool te_checkifrealip(char *ip)

return true;

}dword platform_domain2ipex(const char *szdomain, char *szdotnumip)

; struct hostent *phost;

if((phost = gethostbyname(szdomain)) == null)

return -1;

dword dwip = inet_addr( inet_ntoa(*(struct in_addr *)*phost->h_addr_list) );

strcpy(szaddr, inet_ntoa(*((struct in_addr *)phost->h_addr)));

if(te_checkifrealip(szaddr))

return 0;

}bool te_getrealip(char *hostname,char *strrealip)}}

freeaddrinfo(result);

debuginf("getnameinfo:%s in 2 \n",hostname);

//沒有獲取到

if(!bgetip)

if(bgetip)

return true;

else

return false;

}

手動寫乙個或者直接用沒辦法的**:

void writenewdns(char *_strnewdns)

網域名稱解析過程 網域名稱解析過程

0x01相關資訊 閘道器 閘道器實質上是乙個網路通向其他網路的ip位址。要實現兩個網路之間的通訊,則必須通過閘道器。如果網路a中的主機發現資料報的目的主機不在本地網路中,就把資料報 給它自己的閘道器,自己的閘道器通過尋找路由指向,再由閘道器 給網路b的閘道器,網路b的閘道器再 給網路b的某個主機。i...

網域名稱解析教程!網域名稱解析錯誤怎麼解決?

網域名稱解析怎麼弄?以www.gfxs.cn建站為例,網域名稱解析方法如下 1 選擇伺服器 在中國境內置立 都需要解析到國內伺服器,以下解析以國內伺服器為例。2 新增 www 子網域名稱解析記錄 3 新增主網域名稱 根網域名稱解析記錄 新增以下記錄後,你的主網域名稱 比如 com 就可以正常訪問。同...

URL解析,網域名稱解析

url 遵守一種標準的語法,它由協議 主機名 網域名稱 埠 路徑 以及檔名這六個部分構成,其中埠可以省略。具體語法規則如下 1.協議例如 http,https,ftp 2.主機名 mp就是主機名 3.網域名稱 csdn.net 網域名稱和主機名要一起使用 4.埠http的預設埠是80,https的預...