亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? proxy.php

?? zend的加強包 zend的加強包
?? PHP
字號:
<?php/** * Zend Framework * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://framework.zend.com/license/new-bsd * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@zend.com so we can send you a copy immediately. * * @category   Zend * @package    Zend_Http * @subpackage Client_Adapter * @version    $Id: Proxy.php 8064 2008-02-16 10:58:39Z thomas $ * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com) * @license    http://framework.zend.com/license/new-bsd     New BSD License */require_once 'Zend/Uri/Http.php';require_once 'Zend/Http/Client.php';require_once 'Zend/Http/Client/Adapter/Socket.php';/** * HTTP Proxy-supporting Zend_Http_Client adapter class, based on the default * socket based adapter. * * Should be used if proxy HTTP access is required. If no proxy is set, will * fall back to Zend_Http_Client_Adapter_Socket behavior. Just like the * default Socket adapter, this adapter does not require any special extensions * installed. * * @category   Zend * @package    Zend_Http * @subpackage Client_Adapter * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com) * @license    http://framework.zend.com/license/new-bsd     New BSD License */class Zend_Http_Client_Adapter_Proxy extends Zend_Http_Client_Adapter_Socket{    /**     * Parameters array     *     * @var array     */    protected $config = array(        'ssltransport'  => 'ssl',        'proxy_host'    => '',        'proxy_port'    => 8080,        'proxy_user'    => '',        'proxy_pass'    => '',        'proxy_auth'    => Zend_Http_Client::AUTH_BASIC    );    /**     * Whether HTTPS CONNECT was already negotiated with the proxy or not     *     * @var boolean     */    protected $negotiated = false;        /**     * Connect to the remote server     *     * Will try to connect to the proxy server. If no proxy was set, will     * fall back to the target server (behave like regular Socket adapter)     *     * @param string  $host     * @param int     $port     * @param boolean $secure     * @param int     $timeout     */    public function connect($host, $port = 80, $secure = false)    {        // If no proxy is set, fall back to Socket adapter        if (! $this->config['proxy_host']) return parent::connect($host, $port, $secure);        // Go through a proxy - the connection is actually to the proxy server        $host = $this->config['proxy_host'];        $port = $this->config['proxy_port'];        // If we are connected to the wrong proxy, disconnect first        if (($this->connected_to[0] != $host || $this->connected_to[1] != $port)) {            if (is_resource($this->socket)) $this->close();        }        // Now, if we are not connected, connect        if (! is_resource($this->socket) || ! $this->config['keepalive']) {            $this->socket = @fsockopen($host, $port, $errno, $errstr, (int) $this->config['timeout']);            if (! $this->socket) {                $this->close();                require_once 'Zend/Http/Client/Adapter/Exception.php';		throw new Zend_Http_Client_Adapter_Exception(                    'Unable to Connect to proxy server ' . $host . ':' . $port . '. Error #' . $errno . ': ' . $errstr);            }            // Set the stream timeout            if (!stream_set_timeout($this->socket, (int) $this->config['timeout'])) {                require_once 'Zend/Http/Client/Adapter/Exception.php';                throw new Zend_Http_Client_Adapter_Exception('Unable to set the connection timeout');            }            // Update connected_to            $this->connected_to = array($host, $port);        }    }    /**     * Send request to the proxy server     *     * @param string        $method     * @param Zend_Uri_Http $uri     * @param string        $http_ver     * @param array         $headers     * @param string        $body     * @return string Request as string     */    public function write($method, $uri, $http_ver = '1.1', $headers = array(), $body = '')    {        // If no proxy is set, fall back to default Socket adapter        if (! $this->config['proxy_host']) return parent::write($method, $uri, $http_ver, $headers, $body);        // Make sure we're properly connected        if (! $this->socket) {            require_once 'Zend/Http/Client/Adapter/Exception.php';            throw new Zend_Http_Client_Adapter_Exception("Trying to write but we are not connected");	}        $host = $this->config['proxy_host'];        $port = $this->config['proxy_port'];        if ($this->connected_to[0] != $host || $this->connected_to[1] != $port) {            require_once 'Zend/Http/Client/Adapter/Exception.php';            throw new Zend_Http_Client_Adapter_Exception("Trying to write but we are connected to the wrong proxy server");	}        // Add Proxy-Authorization header        if ($this->config['proxy_user'] && ! isset($headers['proxy-authorization']))            $headers['proxy-authorization'] = Zend_Http_Client::encodeAuthHeader(                $this->config['proxy_user'], $this->config['proxy_pass'], $this->config['proxy_auth']            );                        // if we are proxying HTTPS, preform CONNECT handshake with the proxy        if ($uri->getScheme() == 'https' && (! $this->negotiated)) {            $this->connectHandshake($uri->getHost(), $uri->getPort(), $http_ver, $headers);            $this->negotiated = true;        }                // Save request method for later        $this->method = $method;        // Build request headers        $request = "{$method} {$uri->__toString()} HTTP/{$http_ver}\r\n";        // Add all headers to the request string        foreach ($headers as $k => $v) {            if (is_string($k)) $v = "$k: $v";            $request .= "$v\r\n";        }        // Add the request body        $request .= "\r\n" . $body;        // Send the request        if (! @fwrite($this->socket, $request)) {            require_once 'Zend/Http/Client/Adapter/Exception.php';            throw new Zend_Http_Client_Adapter_Exception("Error writing request to proxy server");        }        return $request;    }    /**     * Preform handshaking with HTTPS proxy using CONNECT method     *     * @param string  $host     * @param integer $port     * @param string  $http_ver     * @param array   $headers     */    protected function connectHandshake($host, $port = 443, $http_ver = '1.1', array &$headers = array())    {    	$request = "CONNECT $host:$port HTTP/$http_ver\r\n" .     	           "Host: " . $this->config['proxy_host'] . "\r\n";    	// Add the user-agent header    	if (isset($this->config['useragent'])) {    		$request .= "User-agent: " . $this->config['useragent'] . "\r\n";    	}    	    	// If the proxy-authorization header is set, send it to proxy but remove    	// it from headers sent to target host    	if (isset($headers['proxy-authorization'])) {    	    $request .= "Proxy-authorization: " . $headers['proxy-authorization'] . "\r\n";    	    unset($headers['proxy-authorization']);    	}    	        $request .= "\r\n";        // Send the request        if (! @fwrite($this->socket, $request)) {            require_once 'Zend/Http/Client/Adapter/Exception.php';            throw new Zend_Http_Client_Adapter_Exception("Error writing request to proxy server");        }        // Read response headers only        $response = '';        $gotStatus = false;        while ($line = @fgets($this->socket)) {            $gotStatus = $gotStatus || (strpos($line, 'HTTP') !== false);            if ($gotStatus) {                $response .= $line;                if (!chop($line)) break;            }        }                // Check that the response from the proxy is 200        if (Zend_Http_Response::extractCode($response) != 200) {                require_once 'Zend/Http/Client/Adapter/Exception.php';        	throw new Zend_Http_Client_Adapter_Exception("Unable to connect to HTTPS proxy. Server response: " . $response);        }                // If all is good, switch socket to secure mode. We have to fall back        // through the different modes         $modes = array(            STREAM_CRYPTO_METHOD_TLS_CLIENT,             STREAM_CRYPTO_METHOD_SSLv3_CLIENT,            STREAM_CRYPTO_METHOD_SSLv23_CLIENT,            STREAM_CRYPTO_METHOD_SSLv2_CLIENT         );                $success = false;         foreach($modes as $mode) {            $success = stream_socket_enable_crypto($this->socket, true, $mode);        	if ($success) break;        }                if (! $success) {                require_once 'Zend/Http/Client/Adapter/Exception.php';        	throw new Zend_Http_Client_Adapter_Exception("Unable to connect to" .         	    " HTTPS server through proxy: could not negotiate secure connection.");        }    }        /**     * Close the connection to the server     *     */    public function close()    {        parent::close();        $this->negotiated = false;    }        /**     * Destructor: make sure the socket is disconnected     *     */    public function __destruct()    {        if ($this->socket) $this->close();    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97精品国产97久久久久久久久久久久| 久久成人久久爱| 久久久亚洲午夜电影| 欧美一区二区三区免费大片| 7777精品伊人久久久大香线蕉经典版下载 | 免费观看日韩电影| 偷拍与自拍一区| 污片在线观看一区二区| 日韩av中文在线观看| 蜜桃传媒麻豆第一区在线观看| 美腿丝袜亚洲一区| 久久国产成人午夜av影院| 久久av老司机精品网站导航| 国产麻豆成人精品| 北条麻妃一区二区三区| 色综合久久久网| 欧美猛男男办公室激情| 日韩午夜在线播放| 中文字幕国产一区| 亚洲国产视频a| 精品写真视频在线观看| 丰满少妇在线播放bd日韩电影| 成人丝袜高跟foot| 欧美日韩国产区一| 精品国产乱码久久久久久老虎| 久久久久久黄色| 亚洲综合清纯丝袜自拍| 精品无人码麻豆乱码1区2区| 懂色av噜噜一区二区三区av| 色素色在线综合| 日韩亚洲电影在线| 中文字幕一区二区三区视频| 亚洲国产另类精品专区| 国内外成人在线视频| 色综合色狠狠综合色| 欧美一区二区三区爱爱| 中文字幕在线不卡视频| 秋霞午夜av一区二区三区| 国产成人精品影视| 欧美肥妇bbw| 国产精品少妇自拍| 免费精品视频最新在线| 在线观看视频91| 欧美精品一区二区在线播放| 亚洲一级二级三级| 粉嫩一区二区三区性色av| 欧美精品久久99| 自拍偷拍欧美精品| 国产一区二区三区在线观看精品 | 日韩亚洲欧美成人一区| 亚洲精品免费播放| 粉嫩绯色av一区二区在线观看| 欧美性感一类影片在线播放| 日本一区二区三区视频视频| 日韩av电影免费观看高清完整版| 成人av免费在线观看| 精品久久久久久久久久久久久久久 | 亚洲男同性视频| 国产69精品久久久久毛片| 欧美mv和日韩mv的网站| 日本欧美加勒比视频| 日本韩国欧美三级| 1区2区3区欧美| 成人精品国产福利| 国产精品青草综合久久久久99| 免费成人av在线播放| 精品视频一区二区三区免费| 亚洲欧美激情插 | 成人福利电影精品一区二区在线观看| 日韩午夜激情电影| 免费高清不卡av| 日韩视频免费直播| 奇米精品一区二区三区在线观看一| 在线观看不卡一区| 一级日本不卡的影视| 色婷婷综合久色| 一区二区三区在线视频播放| 日本韩国一区二区| 天天色 色综合| 宅男噜噜噜66一区二区66| 天天爽夜夜爽夜夜爽精品视频| 欧美午夜不卡视频| 五月婷婷激情综合| 欧美va在线播放| 国产精品一级片在线观看| 久久精品视频一区| aa级大片欧美| 天天综合色天天| 精品粉嫩超白一线天av| 国产传媒欧美日韩成人| 亚洲免费观看高清| 91精品国产一区二区| 国产成人综合自拍| 夜夜精品视频一区二区| 精品久久久久久久人人人人传媒 | 欧美一区欧美二区| 国产一区二区三区黄视频| 国产清纯美女被跳蛋高潮一区二区久久w | 91 com成人网| 国产传媒日韩欧美成人| 亚洲激情在线激情| 日韩精品一区二| av电影天堂一区二区在线| 亚洲国产一区在线观看| 久久久不卡网国产精品一区| av男人天堂一区| 蜜桃传媒麻豆第一区在线观看| 中文天堂在线一区| 制服丝袜av成人在线看| 成人在线视频一区二区| 亚洲高清在线视频| 国产精品的网站| 日韩一级免费观看| 91丝袜国产在线播放| 久久精品久久久精品美女| 亚洲日本va在线观看| 日韩你懂的在线播放| 色婷婷激情综合| 国产乱人伦偷精品视频不卡 | 国产成人免费av在线| 亚洲国产精品久久艾草纯爱| 国产三级一区二区三区| 欧美日韩视频不卡| 99久久精品费精品国产一区二区| 日本视频免费一区| 亚洲三级在线观看| 国产午夜亚洲精品羞羞网站| 91精品啪在线观看国产60岁| 97国产精品videossex| 国产精品一区二区你懂的| 三级欧美在线一区| 亚洲精品老司机| 亚洲国产成人私人影院tom| 日韩一区二区精品在线观看| 欧美最猛黑人xxxxx猛交| 国产一区二区91| 九九精品视频在线看| 秋霞国产午夜精品免费视频| 午夜欧美大尺度福利影院在线看 | 欧美日韩国产天堂| 一本到不卡免费一区二区| 成人免费视频一区二区| 国内精品免费**视频| 国产最新精品免费| 激情都市一区二区| 久久国产精品无码网站| 国产在线不卡视频| 国产精品一区二区视频| 国产一区二区视频在线播放| 国产一区二区三区在线观看免费 | 99久久精品免费看| 不卡的看片网站| av一区二区久久| 91免费观看国产| 精品视频999| 欧美日本免费一区二区三区| 欧美久久久久久久久久| 欧美精品xxxxbbbb| 日韩精品一区二区三区swag| 2020日本不卡一区二区视频| 久久―日本道色综合久久| 国产午夜精品理论片a级大结局| 日本一区二区三区国色天香 | 日韩视频在线永久播放| 亚洲精品在线电影| 国产精品久久久久久户外露出| 国产精品每日更新| 一区二区三区四区在线| 日韩国产一区二| 国产高清无密码一区二区三区| 成人黄色国产精品网站大全在线免费观看 | 成人黄色电影在线| 欧美性色黄大片| 欧美一级生活片| 久久久久久久久久久99999| 亚洲人成网站精品片在线观看| 亚洲第一久久影院| 精品亚洲欧美一区| 一本一道久久a久久精品| 欧美日韩精品一二三区| 欧美精品一区二区三区高清aⅴ| 国产精品网友自拍| 精久久久久久久久久久| 99视频精品在线| 宅男在线国产精品| 亚洲欧洲成人自拍| 奇米色一区二区| 91色porny在线视频| 精品国产乱码久久久久久牛牛| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 奇米色一区二区三区四区| 成人激情小说乱人伦| 51久久夜色精品国产麻豆| 国产日本欧美一区二区| 日韩中文字幕区一区有砖一区| 激情久久五月天| 欧美精品一级二级三级| 中文字幕 久热精品 视频在线| 日韩中文字幕一区二区三区| 91日韩在线专区|