PHP實(shí)現(xiàn)模仿socket請(qǐng)求返回頁(yè)面的方法
更新時(shí)間:2014年11月04日 11:42:15 投稿:shichen2014
這篇文章主要介紹了PHP實(shí)現(xiàn)模仿socket請(qǐng)求返回頁(yè)面的方法,是socket通信非常實(shí)用的技巧,需要的朋友可以參考下
本文實(shí)例講述了PHP實(shí)現(xiàn)模仿socket請(qǐng)求返回頁(yè)面的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
復(fù)制代碼 代碼如下:
<?php
$url = "www.XXXX.com"; //自己做替換
$parse = parse_url($url); //對(duì)URL進(jìn)行解析,返回起組成部分。
$host = $parse['host'];
$path = $parse['path'];
$port = 80;
$timeout = 80;
$fp = @fsockopen($host, $port, $errno, $errstr, $timeout); //打開(kāi)socket鏈接
if (!$fp){
echo $errno."--".$errstr; //如果錯(cuò)誤,則返回錯(cuò)誤代碼和錯(cuò)誤信息
} else {
$out = "POST $path HTTP/1.1\r\n"; //以下是HTTP請(qǐng)求頭信息
$out .= "Host: ".$host."\r\n";
$out .= "Accept: */*\r\n";
$out .= "Connection: Close\r\n";
$out .= "Cookie: $cookie\r\n\r\n";
@fwrite($fp, $out); //把請(qǐng)求信息寫到鏈接中
$status = stream_get_meta_data($fp);
if(!$status['timed_out']) {
while (!feof($fp)) {
if(($header = @fgets($fp)) && ($header == "\r\n" || $header == "\n")) {
break;
}
}
$stop = false;
while(!feof($fp) && !$stop) {
$data = fread($fp,8192); //8192為可返回字節(jié)數(shù)
$return .= $data;
}
}
fclose($fp);
print_r($return);
}
$url = "www.XXXX.com"; //自己做替換
$parse = parse_url($url); //對(duì)URL進(jìn)行解析,返回起組成部分。
$host = $parse['host'];
$path = $parse['path'];
$port = 80;
$timeout = 80;
$fp = @fsockopen($host, $port, $errno, $errstr, $timeout); //打開(kāi)socket鏈接
if (!$fp){
echo $errno."--".$errstr; //如果錯(cuò)誤,則返回錯(cuò)誤代碼和錯(cuò)誤信息
} else {
$out = "POST $path HTTP/1.1\r\n"; //以下是HTTP請(qǐng)求頭信息
$out .= "Host: ".$host."\r\n";
$out .= "Accept: */*\r\n";
$out .= "Connection: Close\r\n";
$out .= "Cookie: $cookie\r\n\r\n";
@fwrite($fp, $out); //把請(qǐng)求信息寫到鏈接中
$status = stream_get_meta_data($fp);
if(!$status['timed_out']) {
while (!feof($fp)) {
if(($header = @fgets($fp)) && ($header == "\r\n" || $header == "\n")) {
break;
}
}
$stop = false;
while(!feof($fp) && !$stop) {
$data = fread($fp,8192); //8192為可返回字節(jié)數(shù)
$return .= $data;
}
}
fclose($fp);
print_r($return);
}
希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
- php中Socket創(chuàng)建與監(jiān)聽(tīng)實(shí)現(xiàn)方法
- php另類上傳圖片的方法(PHP用Socket上傳圖片)
- php中使用Curl、socket、file_get_contents三種方法POST提交數(shù)據(jù)
- php中socket通信機(jī)制實(shí)例詳解
- 使用PHP Socket 編程模擬Http post和get請(qǐng)求
- php中socket的用法詳解
- php socket實(shí)現(xiàn)的聊天室代碼分享
- php與flash as3 socket通信傳送文件實(shí)現(xiàn)代碼
- PHP向socket服務(wù)器收發(fā)數(shù)據(jù)的方法
相關(guān)文章
最令PHP初學(xué)者們頭痛的十四個(gè)問(wèn)題
最令PHP初學(xué)者們頭痛的十四個(gè)問(wèn)題...2007-01-01
php之使用docker運(yùn)行workerman案例講解
這篇文章主要介紹了php之使用docker運(yùn)行workerman案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
PHP數(shù)學(xué)運(yùn)算函數(shù)大匯總(經(jīng)典值得收藏)
這篇文章主要介紹了PHP數(shù)學(xué)運(yùn)算函數(shù),匯總分析了常見(jiàn)的PHP數(shù)學(xué)運(yùn)算函數(shù)的功能,使用方法與注意事項(xiàng),需要的朋友可以參考下2016-04-04
PHP合并數(shù)組函數(shù)array_merge用法分析
這篇文章主要介紹了PHP合并數(shù)組函數(shù)array_merge用法,結(jié)合實(shí)例形式分析了php數(shù)組合并函數(shù)array_merge的具體功能、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-02-02
PHP和JavaScrip分別獲取關(guān)聯(lián)數(shù)組的鍵值示例代碼
關(guān)聯(lián)數(shù)組的鍵值獲取,有很多方法,在本文為大家介紹下PHP和JavaScrip中時(shí)如何實(shí)現(xiàn)的,感興趣的朋友可以參考下2013-09-09

