PHP實現(xiàn)模擬http請求的方法分析
本文實例講述了PHP實現(xiàn)模擬http請求的方法。分享給大家供大家參考,具體如下:
在http簡析中,我們提到了瀏覽器請求資源的一個流程,那么這個流程能不能用php來模擬呢?答案是肯定的。
php模擬http請求需要實現(xiàn)以下步驟:
1.連接apache服務器
使用fsockopen:專門用于連接服務器,得到一個連接資源
2.寫入http協(xié)議
使用fwrite向資源寫入內(nèi)容
3.接收數(shù)據(jù)
請求成功后返回的數(shù)據(jù)會被存放在資源中
4.解析數(shù)據(jù):
使用fgets,和fgetc函數(shù)
實現(xiàn)代碼:
<?php //php模擬發(fā)出http請求 //1.連接目標服務器apache $f=fsockopen('localhost',98,$erron,$error); //2.寫入http協(xié)議 //2.1拼湊http協(xié)議 //請求行 $http="GET /phpstudy/index.php HTTP/1.1\r\n"; //請求頭 $http .="Host:localhost\r\n"; //空行 $http .="\r\n"; //2.2寫給apache服務器 if(fwrite($f,$http)) { //寫入成功 //3.數(shù)據(jù)已經(jīng)接收并存放在f資源中 //4.解析資源 //循環(huán)遍歷 while($line=fgets($f,1024)) { //輸出 echo $line ."</br>"; } }
更多關于PHP相關內(nèi)容感興趣的讀者可查看本站專題:《php socket用法總結(jié)》、《PHP網(wǎng)絡編程技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O計入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
PHP sprintf() 函數(shù)的應用(定義和用法)
sprintf定義和用法,sprintf() 函數(shù)用于把格式化的字符串寫入一個變量中。2012-06-06php使用pdo連接mssql server數(shù)據(jù)庫實例
這篇文章主要介紹了php使用pdo連接mssql server數(shù)據(jù)庫的方法,以實例形式分析了php使用pdo連接mssql server數(shù)據(jù)庫的技巧,非常簡單實用,需要的朋友可以參考下2014-12-12php中強制下載文件的代碼(解決了IE下中文文件名亂碼問題)
以下這段代碼作用是:瀏覽器提交excel格式的數(shù)據(jù)和文件名到服務器上,PHP將請求轉(zhuǎn)化為可下載的excel文件,并要求瀏覽器彈出文件下載提示窗口2011-05-05