ilHttpRequest class More...
Public Member Functions | |
| _scan_url () | |
| ilHttpRequest ($url) | |
| downloadToString () | |
Data Fields | |
| $_fp | |
| $_url | |
| $_host | |
| $_protocol | |
| $_uri | |
| $_port | |
ilHttpRequest class
Class to retrieve an HTTP request
Definition at line 33 of file class.ilHttpRequest.php.
| ilHttpRequest::_scan_url | ( | ) |
Definition at line 43 of file class.ilHttpRequest.php.
References $host.
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 = '/';
}
Here is the caller graph for this function:| ilHttpRequest::downloadToString | ( | ) |
Definition at line 77 of file class.ilHttpRequest.php.
References 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);
}
}
Here is the call graph for this function:| ilHttpRequest::ilHttpRequest | ( | $ | url | ) |
Definition at line 70 of file class.ilHttpRequest.php.
References _scan_url().
Referenced by downloadToString().
{
$this->_url = $url;
$this->_scan_url();
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilHttpRequest::$_fp |
Definition at line 35 of file class.ilHttpRequest.php.
| ilHttpRequest::$_host |
Definition at line 37 of file class.ilHttpRequest.php.
| ilHttpRequest::$_port |
Definition at line 40 of file class.ilHttpRequest.php.
| ilHttpRequest::$_protocol |
Definition at line 38 of file class.ilHttpRequest.php.
| ilHttpRequest::$_uri |
Definition at line 39 of file class.ilHttpRequest.php.
| ilHttpRequest::$_url |
Definition at line 36 of file class.ilHttpRequest.php.
1.7.1