Files
@ 7ec91347b83f
Branch filter:
Location: hot67beta/libraries/domit/php_http_proxy.php - annotation
7ec91347b83f
2.4 KiB
text/x-php
there we go
c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 c7d7e38b2269 | <?php
/**
* PHP HTTP Tools is a library for working with the http protocol
* php_http_proxy represents a basic http proxy
* @package php-http-tools
* @version 0.3
* @copyright (C) 2004 John Heinstein. All rights reserved
* @license http://www.gnu.org/copyleft/lesser.html LGPL License
* @author John Heinstein <johnkarl@nbnet.nb.ca>
* @link http://www.engageinteractive.com/php_http_tools/ PHP HTTP Tools Home Page
* PHP HTTP Tools are Free Software
**/
if (!defined('PHP_HTTP_TOOLS_INCLUDE_PATH')) {
define('PHP_HTTP_TOOLS_INCLUDE_PATH', (dirname(__FILE__) . "/"));
}
require_once(PHP_HTTP_TOOLS_INCLUDE_PATH . 'php_http_client_generic.php');
/**
* An HTTP Proxy class
*
* @package php-http-tools
* @author John Heinstein <johnkarl@nbnet.nb.ca>
*/
class php_http_proxy extends php_http_client_generic {
/**
* HTTP Proxy constructor
* @param string The client connection host name, with or without its protocol prefix
* @param string The client connection path, not including the host name
* @param int The port to establish the client connection on
* @param int The timeout value for the client connection
*/
function php_http_proxy($host, $path = '/', $port = 80, $timeout = 0) {
$this->php_http_client_generic($host, $path, $port, $timeout);
$this->setHeaders();
} //php_http_proxy
/**
* Sets the proxy timeout to the specified value
* @param int The timeout value for the client connection
*/
function setTimeout($timeout) {
$this->timeout = $timeout;
} //setTimeout
/**
* Sets the proxy headers
*/
function setHeaders() {
$this->setHeader('User-Agent', 'PHP-HTTP-Proxy-Client/0.1');
$this->setHeader('Connection', 'Close');
} //setHeaders
/**
* Specifies a user name and password for basic proxy authentication
* @param string The user name for proxy authentication
* @param string The password for proxy authentication
*/
function setProxyAuthorization($user, $password) {
$encodedChallengeResponse = 'Basic ' . base64_encode($this->user . ':' . $this->password);
$this->setHeader('Proxy-Authorization', $encodedChallengeResponse);
} //setProxyAuthorization
/**
* Handler for customizing the HTTP GET call
* @param string The target url
*/
function get_custom($filename) {
$url = $this->connection->formatHost($filename);
$sep = strpos($url, '/');
$targetHost = substr($url, 0, $sep);
$this->setHeader('Host', $targetHost);
} //get_custom
} //php_http_proxy
?>
|