教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php 模拟用户浏览网页代码

php 模拟用户浏览网页代码

发布时间:2016-10-27   编辑:jiaochengji.com
教程集为您提供php 模拟用户浏览网页代码等资源,欢迎您收藏本站,我们将为您提供最新的php 模拟用户浏览网页代码资源

class HttpRequest
{
var $sHostAdd;
var $sUri;
var $iPort;

var $sRequestHeader;

var $sResponse;

function HttpRequest($sUrl){
$sPatternUrlPart = '/http://([a-z-.0-9] )(:(d )){0,1}(.*)/i';
$arMatchUrlPart = array();
preg_match($sPatternUrlPart, $sUrl, $arMatchUrlPart);

$this->sHostAdd = gethostbyname($arMatchUrlPart[1]);
if (empty($arMatchUrlPart[4])){
$this->sUri = '/';
}else{
$this->sUri = $arMatchUrlPart[4];
}
if (empty($arMatchUrlPart[3])){
$this->iPort = 80;
}else{
$this->iPort = $arMatchUrlPart[3];
}

$this->addRequestHeader('Host: '.$arMatchUrlPart[1]);
$this->addRequestHeader('Connection: Close');
}

function addRequestHeader($sHeader){
$this->sRequestHeader .= trim($sHeader)." ";
}

function sendRequest($sMethod = 'GET', $sPostData = ''){
$sRequest = $sMethod." ".$this->sUri." HTTP/1.1 ";
$sRequest .= $this->sRequestHeader;
if ($sMethod == 'POST'){
$sRequest .= "Content-Type: application/x-www-form-urlencoded ";
$sRequest .= "Content-Length: ".strlen($sPostData)." ";
$sRequest .= " ";
$sRequest .= $sPostData." ";
}
$sRequest .= " ";

$sockHttp = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!$sockHttp){
die('socket_create() failed!');
}

$resSockHttp = socket_connect($sockHttp, $this->sHostAdd, $this->iPort);
if (!$resSockHttp){
die('socket_connect() failed!');
}

socket_write($sockHttp, $sRequest, strlen($sRequest));

$this->sResponse = '';
while ($sRead = socket_read($sockHttp, 4096)){
$this->sResponse .= $sRead;
}

socket_close($sockHttp);
}

function getResponse(){
return $this->sResponse;
}

function getResponseBody(){
$sPatternSeperate = '/ /';
$arMatchResponsePart = preg_split($sPatternSeperate, $this->sResponse, 2);
return $arMatchResponsePart[1];
}

function getResponseHead(){
$sPatternSeperate = '/ /';
$arMatchResponsePart = preg_split($sPatternSeperate, $this->sResponse, 2);
return $arMatchResponsePart[0];
}
}

您可能感兴趣的文章:
python爬虫能做什么
python的爬虫是什么意思
电脑pc上的浏览器模拟手机浏览器的方法
python爬虫可以做什么
python写爬虫方便还是php方便
Php CURL模拟登陆论坛并采集数据实例
python爬虫能干什么
php 3g{WAp}网站编写注意事项
php file_get_contents函数代理获取远程页面的代码
php中$_SERVER环境变量用法

[关闭]
~ ~