本文使用php解析http協議
http協議如下,包含兩部分:請求頭和請求體,我們主要是解析請求頭,獲取cookie,get,post等資訊。
分析可知,每一行是以\r\n結束,http響應頭header和響應體body是以\r\n\r\n分割,下面通過正規表示式可以提取相關元素。
**如下。
/**************測試結束****************************//** 函式: parse_http
* 描述: 解析http協議
// 需要解析$_post
if($_server['request_method'] === 'post')
else
}// query_string
$_server['query_string'] = parse_url($_server['request_uri'], php_url_query);
if($_server['query_string'])
else
// request
$_request = array_merge($_get, $_post);
return array('get'=>$_get, 'post'=>$_post, 'cookie'=>$_cookie, 'server'=>$_server, 'files'=>$_files);
}/** 函式: parse_upload_files
* 描述: 解析上傳的檔案
// 是post field
else
}break;}}
}}
注意現在$_post,$_get,$_cookie,$_request,$_session,$_files都是我們自己通過協議解析到的,而非php給我們提供的。
測試**下:
$ch = curl_init();curl_setopt($ch,curlopt_url,'');
curl_setopt($ch,curlopt_header,1);
curl_setopt($ch,curlopt_returntransfer,1);
curl_setopt($ch,curlopt_followlocation,0); //抓取轉跳
HTTP協議解析
客戶端 通過傳送請求獲取伺服器資源的 web 瀏覽器等.http hypertext transfer protocol,超文字傳輸協議 url uniform12resource locator,統一資源定位符 tcp ip 網際網路相關的各類協議族的總稱 uri 統一資源識別符號,表示由某個協議...
HTTP協議解析
1 http協議是什麼 http協議是工作在應用層的一種知名的通訊協議 大佬程式設計師寫的 負責應用程式之間的資料溝通。http是乙個簡單的請求 響應協議,它通常執行在tcp之上。它指定了客戶端可能傳送給伺服器什麼樣的訊息以及得到什麼樣的響應。2 http協議的格式解析 首行 請求首行 請求方法 g...
HTTP協議 具體解析
之前介紹過http的基礎知識,這章來繼續 一下具體組成。為之後自己寫web伺服器打個基礎。超文字傳輸協議,具體的看我之前的部落格 http協議。http通常是作為應用層的協議。http協議承載於tcp協議之上,有時候也承載在tls ssl協議層之上 https 回顧一下工作流程 客戶端連線到web伺...