您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php获取远程网页源码的程序代码

2024/2/19 18:27:27发布36次查看
有时我们需要做一些采集需要下载远程网页源码到本来了,在这里我们整理了一些php获取远程网页源码代码,希望对各位会有所帮助。
php的curl函数
基本例子

php fopen函数

file_get_contents函数

抓取远程网页源码类
_url; $pos = strpos($req, '://'); $this->_protocol = strtolower(substr($req, 0, $pos)); $req = substr($req, $pos + 3); $pos = strpos($req, '/'); if ($pos === false) $pos = strlen($req); $host = substr($req, 0, $pos); if (strpos($host, ':') !== false) { list($this->_host, $this->_port) = explode(':', $host); } else { $this->_host = $host; $this->_port = ($this->_protocol == 'https') ? 443 : 80; } $this->_uri = substr($req, $pos); if ($this->_uri == '') $this->_uri = '/'; } // constructor function httprequest($url) { $this->_url = $url; $this->_scan_url(); } // download url to string function downloadtostring() { $crlf = rn; // generate request $req = 'get ' . $this->_uri . ' http/1.0' . $crlf . 'host: ' . $this->_host . $crlf . $crlf; // fetch $this->_fp = fsockopen(($this->_protocol == 'https' ? 'ssl://' : '') . $this->_host, $this->_port); fwrite($this->_fp, $req); while (is_resource($this->_fp) && $this->_fp && !feof($this->_fp)) $response.= fread($this->_fp, 1024); fclose($this->_fp); // split header and body $pos = strpos($response, $crlf . $crlf); if ($pos === false) return ($response); $header = substr($response, 0, $pos); $body = substr($response, $pos + 2 * strlen($crlf)); // parse headers $headers = array(); $lines = explode($crlf, $header); foreach ($lines as $line) if (($pos = strpos($line, ':')) !== false) $headers[strtolower(trim(substr($line, 0, $pos))) ] = trim(substr($line, $pos + 1)); // redirection? if (isset($headers['location'])) { $http = new httprequest($headers['location']); return ($http->downloadtostring($http)); } else { return ($body); } }}//使用方法$r = new httprequest('http://www.phprm.com');$str = $r->downloadtostring();?>
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product