Public Member Functions | |
_scan_url () | |
ilHttpRequest ($url) | |
downloadToString () | |
Data Fields | |
$_fp | |
$_url | |
$_host | |
$_protocol | |
$_uri | |
$_port |
Definition at line 34 of file class.ilHttpRequest.php.
ilHttpRequest::_scan_url | ( | ) |
Definition at line 44 of file class.ilHttpRequest.php.
Referenced by ilHttpRequest().
{ $req = $this->_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 = '/'; }
ilHttpRequest::downloadToString | ( | ) |
Definition at line 78 of file class.ilHttpRequest.php.
References $pos, and ilHttpRequest().
{ $crlf = "\r\n"; // 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 ilHttpRequest($headers['location']); return($http->DownloadToString($http)); } else { return($body); } }
ilHttpRequest::ilHttpRequest | ( | $ | url | ) |
Definition at line 71 of file class.ilHttpRequest.php.
References _scan_url().
Referenced by downloadToString().
{ $this->_url = $url; $this->_scan_url(); }
ilHttpRequest::$_fp |
Definition at line 36 of file class.ilHttpRequest.php.
ilHttpRequest::$_host |
Definition at line 38 of file class.ilHttpRequest.php.
ilHttpRequest::$_port |
Definition at line 41 of file class.ilHttpRequest.php.
ilHttpRequest::$_protocol |
Definition at line 39 of file class.ilHttpRequest.php.
ilHttpRequest::$_uri |
Definition at line 40 of file class.ilHttpRequest.php.
ilHttpRequest::$_url |
Definition at line 37 of file class.ilHttpRequest.php.