超文字傳輸協議(http)
正規表示式
url:統一資源定位符
www.sina.com.cn -> 202.60.121.55, ...
...#include
struct hostent* gethostbyname (char const* name)
;返回主機條目資訊結構指標,失敗返回null。
hostent
h_name - 字元指標,指向主機官方名字串
h_aliases - 指向字元指標陣列的指標,該陣列中的每個元素都是字元指標,指向乙個別名字串,最後乙個元素是乙個null指標
h_addrtype - 位址型別,af_inet(ipv4)
h_length - 位址位元組數, 4位元組(ipv4)
h_addr_list - 指向結構體指標陣列的指標,該陣列中的每個元素都指向乙個struct in_addr型別的結構體,其中存放著主機乙個ip位址,最後乙個元素是乙個空指標
#include
char* inet_ntoa (struct in_addr addr)
;
#include
#include
#include
#include
int main (
int argc,
char
* ar**)
struct hostent* host =
gethostbyname (ar**[1]
);if(
! host)
if(host->h_addrtype == af_inet)
return exit_success;
}
請求
響應
}包含標頭檔案
#include
... href=
" "
...href=
"\s*\([^ >"
]*\)\s*"
\s - 匹配任意空白字元(空格、製表、回車、換行)
* - 重複前乙個匹配項任意次
[^ >"
] - 匹配任意除空格大於號雙引號以外的字元
\(和\) - 定義子表示式
#include
#include
#include
#include
int main (
int argc,
char
* ar**)
file* fp = fopen (ar**[1]
,"r");
if(! fp)
if(fseek (fp,0,
seek_end)==
-1)long size = ftell (fp);if
(size ==-1
)char
* buf=
(char
*)malloc (size +1)
;if(! buf)
if(fseek (fp,0,
seek_set)==
-1)if
(fread (buf,
1, size, fp)
!=size)
buf[size]
='\0'
; fclose (fp)
; regex_t ex;
int error = regcomp (
&ex,
"href=\"\\s*\\([^ >\"]*\\)\\s*\"",0
);if(error)
char
const
* html = buf;
regmatch_t match[2]
;while
(regexec (
&ex, html,
2, match,0)
!= reg_nomatch)
regfree (
&ex)
; free (buf)
;return exit_success;
}
網域名稱解析過程 網域名稱解析過程
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的預...