php模擬http請(qǐng)求需要實(shí)現(xiàn)以下步驟:
1.連接apache服務(wù)器
使用fsockopen:專(zhuān)門(mén)用于連接服務(wù)器,得到一個(gè)連接資源
2.寫(xiě)入http協(xié)議
使用fwrite向資源寫(xiě)入內(nèi)容
3.接收數(shù)據(jù)
請(qǐng)求成功后返回的數(shù)據(jù)會(huì)被存放在資源中
4.解析數(shù)據(jù):
使用fgets,和fgetc函數(shù)
實(shí)現(xiàn)代碼:
- <?php
- //php模擬發(fā)出http請(qǐng)求
- //1.連接目標(biāo)服務(wù)器apache
- $f=fsockopen('localhost',98,$erron,$error);
- //2.寫(xiě)入http協(xié)議
- //2.1拼湊http協(xié)議
- //請(qǐng)求行
- $http="GET /phpstudy/index.php HTTP/1.1/r/n";
- //請(qǐng)求頭
- $http .="Host:localhost/r/n";
- //空行
- $http .="/r/n";
- //2.2寫(xiě)給apache服務(wù)器
- if(fwrite($f,$http))
- {
- //寫(xiě)入成功
- //3.數(shù)據(jù)已經(jīng)接收并存放在f資源中
- //4.解析資源
- //循環(huán)遍歷
- while($line=fgets($f,1024))
- {
- //輸出
- echo $line ."</br>";
- }//Vevb.com
- }
新聞熱點(diǎn)
疑難解答