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

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

?? rpc.php

?? 視頻監控網絡部分的協議ddns,的模塊的實現代碼,請大家大膽指正.
?? PHP
?? 第 1 頁 / 共 4 頁
字號:
<?php/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: *//** * PHP implementation of the XML-RPC protocol * * This is a PEAR-ified version of Useful inc's XML-RPC for PHP. * It has support for HTTP transport, proxies and authentication. * * PHP versions 4 and 5 * * LICENSE: License is granted to use or modify this software * ("XML-RPC for PHP") for commercial or non-commercial use provided the * copyright of the author is preserved in any distributed or derivative work. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESSED OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * @category   Web Services * @package    XML_RPC * @author     Edd Dumbill <edd@usefulinc.com> * @author     Stig Bakken <stig@php.net> * @author     Martin Jansen <mj@php.net> * @author     Daniel Convissor <danielc@php.net> * @copyright  1999-2001 Edd Dumbill, 2001-2005 The PHP Group * @version    CVS: $Id: RPC.php,v 1.88 2005/10/15 20:29:43 danielc Exp $ * @link       http://pear.php.net/package/XML_RPC */if (!function_exists('xml_parser_create')) {    PEAR::loadExtension('xml');}/**#@+ * Error constants *//** * Parameter values don't match parameter types */define('XML_RPC_ERROR_INVALID_TYPE', 101);/** * Parameter declared to be numeric but the values are not */define('XML_RPC_ERROR_NON_NUMERIC_FOUND', 102);/** * Communication error */define('XML_RPC_ERROR_CONNECTION_FAILED', 103);/** * The array or struct has already been started */define('XML_RPC_ERROR_ALREADY_INITIALIZED', 104);/** * Incorrect parameters submitted */define('XML_RPC_ERROR_INCORRECT_PARAMS', 105);/** * Programming error by developer */define('XML_RPC_ERROR_PROGRAMMING', 106);/**#@-*//** * Data types * @global string $GLOBALS['XML_RPC_I4'] */$GLOBALS['XML_RPC_I4'] = 'i4';/** * Data types * @global string $GLOBALS['XML_RPC_Int'] */$GLOBALS['XML_RPC_Int'] = 'int';/** * Data types * @global string $GLOBALS['XML_RPC_Boolean'] */$GLOBALS['XML_RPC_Boolean'] = 'boolean';/** * Data types * @global string $GLOBALS['XML_RPC_Double'] */$GLOBALS['XML_RPC_Double'] = 'double';/** * Data types * @global string $GLOBALS['XML_RPC_String'] */$GLOBALS['XML_RPC_String'] = 'string';/** * Data types * @global string $GLOBALS['XML_RPC_DateTime'] */$GLOBALS['XML_RPC_DateTime'] = 'dateTime.iso8601';/** * Data types * @global string $GLOBALS['XML_RPC_Base64'] */$GLOBALS['XML_RPC_Base64'] = 'base64';/** * Data types * @global string $GLOBALS['XML_RPC_Array'] */$GLOBALS['XML_RPC_Array'] = 'array';/** * Data types * @global string $GLOBALS['XML_RPC_Struct'] */$GLOBALS['XML_RPC_Struct'] = 'struct';/** * Data type meta-types * @global array $GLOBALS['XML_RPC_Types'] */$GLOBALS['XML_RPC_Types'] = array(    $GLOBALS['XML_RPC_I4']       => 1,    $GLOBALS['XML_RPC_Int']      => 1,    $GLOBALS['XML_RPC_Boolean']  => 1,    $GLOBALS['XML_RPC_String']   => 1,    $GLOBALS['XML_RPC_Double']   => 1,    $GLOBALS['XML_RPC_DateTime'] => 1,    $GLOBALS['XML_RPC_Base64']   => 1,    $GLOBALS['XML_RPC_Array']    => 2,    $GLOBALS['XML_RPC_Struct']   => 3,);/** * Error message numbers * @global array $GLOBALS['XML_RPC_err'] */$GLOBALS['XML_RPC_err'] = array(    'unknown_method'      => 1,    'invalid_return'      => 2,    'incorrect_params'    => 3,    'introspect_unknown'  => 4,    'http_error'          => 5,    'not_response_object' => 6,    'invalid_request'     => 7,);/** * Error message strings * @global array $GLOBALS['XML_RPC_str'] */$GLOBALS['XML_RPC_str'] = array(    'unknown_method'      => 'Unknown method',    'invalid_return'      => 'Invalid return payload: enable debugging to examine incoming payload',    'incorrect_params'    => 'Incorrect parameters passed to method',    'introspect_unknown'  => 'Can\'t introspect: method unknown',    'http_error'          => 'Didn\'t receive 200 OK from remote server.',    'not_response_object' => 'The requested method didn\'t return an XML_RPC_Response object.',    'invalid_request'     => 'Invalid request payload',);/** * Default XML encoding (ISO-8859-1, UTF-8 or US-ASCII) * @global string $GLOBALS['XML_RPC_defencoding'] */$GLOBALS['XML_RPC_defencoding'] = 'UTF-8';/** * User error codes start at 800 * @global int $GLOBALS['XML_RPC_erruser'] */$GLOBALS['XML_RPC_erruser'] = 800;/** * XML parse error codes start at 100 * @global int $GLOBALS['XML_RPC_errxml'] */$GLOBALS['XML_RPC_errxml'] = 100;/** * Compose backslashes for escaping regexp * @global string $GLOBALS['XML_RPC_backslash'] */$GLOBALS['XML_RPC_backslash'] = chr(92) . chr(92);/** * Valid parents of XML elements * @global array $GLOBALS['XML_RPC_valid_parents'] */$GLOBALS['XML_RPC_valid_parents'] = array(    'BOOLEAN' => array('VALUE'),    'I4' => array('VALUE'),    'INT' => array('VALUE'),    'STRING' => array('VALUE'),    'DOUBLE' => array('VALUE'),    'DATETIME.ISO8601' => array('VALUE'),    'BASE64' => array('VALUE'),    'ARRAY' => array('VALUE'),    'STRUCT' => array('VALUE'),    'PARAM' => array('PARAMS'),    'METHODNAME' => array('METHODCALL'),    'PARAMS' => array('METHODCALL', 'METHODRESPONSE'),    'MEMBER' => array('STRUCT'),    'NAME' => array('MEMBER'),    'DATA' => array('ARRAY'),    'FAULT' => array('METHODRESPONSE'),    'VALUE' => array('MEMBER', 'DATA', 'PARAM', 'FAULT'),);/** * Stores state during parsing * * quick explanation of components: *   + ac     = accumulates values *   + qt     = decides if quotes are needed for evaluation *   + cm     = denotes struct or array (comma needed) *   + isf    = indicates a fault *   + lv     = indicates "looking for a value": implements the logic *               to allow values with no types to be strings *   + params = stores parameters in method calls *   + method = stores method name * * @global array $GLOBALS['XML_RPC_xh'] */$GLOBALS['XML_RPC_xh'] = array();/** * Start element handler for the XML parser * * @return void */function XML_RPC_se($parser_resource, $name, $attrs){    global $XML_RPC_xh, $XML_RPC_DateTime, $XML_RPC_String, $XML_RPC_valid_parents;    $parser = (int) $parser_resource;    // if invalid xmlrpc already detected, skip all processing    if ($XML_RPC_xh[$parser]['isf'] >= 2) {        return;    }    // check for correct element nesting    // top level element can only be of 2 types    if (count($XML_RPC_xh[$parser]['stack']) == 0) {        if ($name != 'METHODRESPONSE' && $name != 'METHODCALL') {            $XML_RPC_xh[$parser]['isf'] = 2;            $XML_RPC_xh[$parser]['isf_reason'] = 'missing top level xmlrpc element';            return;        }    } else {        // not top level element: see if parent is OK        if (!in_array($XML_RPC_xh[$parser]['stack'][0], $XML_RPC_valid_parents[$name])) {            $name = preg_replace('[^a-zA-Z0-9._-]', '', $name);            $XML_RPC_xh[$parser]['isf'] = 2;            $XML_RPC_xh[$parser]['isf_reason'] = "xmlrpc element $name cannot be child of {$XML_RPC_xh[$parser]['stack'][0]}";            return;        }    }    switch ($name) {    case 'STRUCT':        $XML_RPC_xh[$parser]['cm']++;        // turn quoting off        $XML_RPC_xh[$parser]['qt'] = 0;        $cur_val = array();        $cur_val['value'] = array();        $cur_val['members'] = 1;        array_unshift($XML_RPC_xh[$parser]['valuestack'], $cur_val);        break;    case 'ARRAY':        $XML_RPC_xh[$parser]['cm']++;        // turn quoting off        $XML_RPC_xh[$parser]['qt'] = 0;        $cur_val = array();        $cur_val['value'] = array();        $cur_val['members'] = 0;        array_unshift($XML_RPC_xh[$parser]['valuestack'], $cur_val);        break;    case 'NAME':        $XML_RPC_xh[$parser]['ac'] = '';        break;    case 'FAULT':        $XML_RPC_xh[$parser]['isf'] = 1;        break;    case 'PARAM':        $XML_RPC_xh[$parser]['valuestack'] = array();        break;    case 'VALUE':        $XML_RPC_xh[$parser]['lv'] = 1;        $XML_RPC_xh[$parser]['vt'] = $XML_RPC_String;        $XML_RPC_xh[$parser]['ac'] = '';        $XML_RPC_xh[$parser]['qt'] = 0;        // look for a value: if this is still 1 by the        // time we reach the first data segment then the type is string        // by implication and we need to add in a quote        break;    case 'I4':    case 'INT':    case 'STRING':    case 'BOOLEAN':    case 'DOUBLE':    case 'DATETIME.ISO8601':    case 'BASE64':        $XML_RPC_xh[$parser]['ac'] = ''; // reset the accumulator        if ($name == 'DATETIME.ISO8601' || $name == 'STRING') {            $XML_RPC_xh[$parser]['qt'] = 1;            if ($name == 'DATETIME.ISO8601') {                $XML_RPC_xh[$parser]['vt'] = $XML_RPC_DateTime;            }        } elseif ($name == 'BASE64') {            $XML_RPC_xh[$parser]['qt'] = 2;        } else {            // No quoting is required here -- but            // at the end of the element we must check            // for data format errors.            $XML_RPC_xh[$parser]['qt'] = 0;        }        break;    case 'MEMBER':        $XML_RPC_xh[$parser]['ac'] = '';        break;    case 'DATA':    case 'METHODCALL':    case 'METHODNAME':    case 'METHODRESPONSE':    case 'PARAMS':        // valid elements that add little to processing        break;    }    // Save current element to stack    array_unshift($XML_RPC_xh[$parser]['stack'], $name);    if ($name != 'VALUE') {        $XML_RPC_xh[$parser]['lv'] = 0;    }}/** * End element handler for the XML parser * * @return void */function XML_RPC_ee($parser_resource, $name){    global $XML_RPC_xh, $XML_RPC_Types, $XML_RPC_String;    $parser = (int) $parser_resource;    if ($XML_RPC_xh[$parser]['isf'] >= 2) {        return;    }    // push this element from stack    // NB: if XML validates, correct opening/closing is guaranteed and    // we do not have to check for $name == $curr_elem.    // we also checked for proper nesting at start of elements...    $curr_elem = array_shift($XML_RPC_xh[$parser]['stack']);    switch ($name) {    case 'STRUCT':    case 'ARRAY':    $cur_val = array_shift($XML_RPC_xh[$parser]['valuestack']);    $XML_RPC_xh[$parser]['value'] = $cur_val['value'];        $XML_RPC_xh[$parser]['vt'] = strtolower($name);        $XML_RPC_xh[$parser]['cm']--;        break;    case 'NAME':    $XML_RPC_xh[$parser]['valuestack'][0]['name'] = $XML_RPC_xh[$parser]['ac'];        break;    case 'BOOLEAN':        // special case here: we translate boolean 1 or 0 into PHP        // constants true or false        if ($XML_RPC_xh[$parser]['ac'] == '1') {            $XML_RPC_xh[$parser]['ac'] = 'true';        } else {            $XML_RPC_xh[$parser]['ac'] = 'false';        }        $XML_RPC_xh[$parser]['vt'] = strtolower($name);        // Drop through intentionally.    case 'I4':    case 'INT':    case 'STRING':    case 'DOUBLE':    case 'DATETIME.ISO8601':    case 'BASE64':        if ($XML_RPC_xh[$parser]['qt'] == 1) {            // we use double quotes rather than single so backslashification works OK            $XML_RPC_xh[$parser]['value'] = $XML_RPC_xh[$parser]['ac'];        } elseif ($XML_RPC_xh[$parser]['qt'] == 2) {            $XML_RPC_xh[$parser]['value'] = base64_decode($XML_RPC_xh[$parser]['ac']);        } elseif ($name == 'BOOLEAN') {            $XML_RPC_xh[$parser]['value'] = $XML_RPC_xh[$parser]['ac'];        } else {            // we have an I4, INT or a DOUBLE            // we must check that only 0123456789-.<space> are characters here            if (!ereg("^[+-]?[0123456789 \t\.]+$", $XML_RPC_xh[$parser]['ac'])) {                XML_RPC_Base::raiseError('Non-numeric value received in INT or DOUBLE',                                         XML_RPC_ERROR_NON_NUMERIC_FOUND);                $XML_RPC_xh[$parser]['value'] = XML_RPC_ERROR_NON_NUMERIC_FOUND;            } else {                // it's ok, add it on                $XML_RPC_xh[$parser]['value'] = $XML_RPC_xh[$parser]['ac'];            }        }        $XML_RPC_xh[$parser]['ac'] = '';        $XML_RPC_xh[$parser]['qt'] = 0;        $XML_RPC_xh[$parser]['lv'] = 3; // indicate we've found a value        break;    case 'VALUE':        if ($XML_RPC_xh[$parser]['vt'] == $XML_RPC_String) {            if (strlen($XML_RPC_xh[$parser]['ac']) > 0) {                $XML_RPC_xh[$parser]['value'] = $XML_RPC_xh[$parser]['ac'];            } elseif ($XML_RPC_xh[$parser]['lv'] == 1) {                // The <value> element was empty.                $XML_RPC_xh[$parser]['value'] = '';            }        }        $temp = new XML_RPC_Value($XML_RPC_xh[$parser]['value'], $XML_RPC_xh[$parser]['vt']);        $cur_val = array_shift($XML_RPC_xh[$parser]['valuestack']);        if (is_array($cur_val)) {            if ($cur_val['members']==0) {                $cur_val['value'][] = $temp;            } else {                $XML_RPC_xh[$parser]['value'] = $temp;            }            array_unshift($XML_RPC_xh[$parser]['valuestack'], $cur_val);        } else {            $XML_RPC_xh[$parser]['value'] = $temp;        }        break;    case 'MEMBER':        $XML_RPC_xh[$parser]['ac'] = '';        $XML_RPC_xh[$parser]['qt'] = 0;        $cur_val = array_shift($XML_RPC_xh[$parser]['valuestack']);        if (is_array($cur_val)) {            if ($cur_val['members']==1) {                $cur_val['value'][$cur_val['name']] = $XML_RPC_xh[$parser]['value'];            }            array_unshift($XML_RPC_xh[$parser]['valuestack'], $cur_val);        }        break;    case 'DATA':        $XML_RPC_xh[$parser]['ac'] = '';        $XML_RPC_xh[$parser]['qt'] = 0;        break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
性做久久久久久| 免费观看一级特黄欧美大片| 欧美在线影院一区二区| 日韩av电影天堂| 这里只有精品视频在线观看| 久久99久久精品| 亚洲蜜桃精久久久久久久| 日韩欧美亚洲一区二区| 99re8在线精品视频免费播放| 日韩影院精彩在线| 欧美国产激情一区二区三区蜜月| 色噜噜狠狠成人网p站| 六月丁香婷婷久久| 亚洲自拍另类综合| 久久久av毛片精品| 欧美亚洲国产一卡| 国产成人免费网站| 免费成人av资源网| 亚洲精品欧美在线| 欧美一区二区福利在线| 日本高清无吗v一区| 国产精品自产自拍| 日韩av电影免费观看高清完整版 | 日本一区二区视频在线| 欧美日韩免费观看一区二区三区| 国产乱人伦偷精品视频免下载 | 99精品在线观看视频| 国内精品伊人久久久久影院对白| 亚洲va韩国va欧美va精品| 中文在线资源观看网站视频免费不卡 | 99精品视频中文字幕| 国产一区二三区好的| 日韩激情一区二区| 亚洲精品视频在线看| 精品久久久久av影院| 欧美理论片在线| 日本韩国欧美三级| 成人av网站在线观看免费| 国产制服丝袜一区| 蜜臀久久久久久久| 中文字幕日本不卡| 久久久久成人黄色影片| 精品国产髙清在线看国产毛片| 91精品免费观看| 欧美日韩你懂的| 欧美麻豆精品久久久久久| 成人精品gif动图一区| 国产精品中文有码| 国产成人福利片| 久久91精品国产91久久小草 | 不卡一区二区中文字幕| 青青草原综合久久大伊人精品 | 欧美猛男gaygay网站| 欧美三级中文字| 欧美一区二区国产| 久久先锋影音av鲁色资源网| 国产日韩在线不卡| 亚洲美女屁股眼交3| 五月天中文字幕一区二区| 秋霞电影一区二区| 国产v综合v亚洲欧| 91片黄在线观看| 91麻豆精品国产91久久久久久| 精品国产露脸精彩对白| 亚洲国产精品精华液2区45| 亚洲欧美另类图片小说| 水蜜桃久久夜色精品一区的特点 | 天天综合天天做天天综合| 日韩国产精品久久| 国产毛片一区二区| 在线看不卡av| 精品三级在线观看| 亚洲欧美偷拍三级| 日韩成人午夜电影| 大尺度一区二区| 欧美日韩免费电影| 欧美极品xxx| 丝袜美腿一区二区三区| 国产jizzjizz一区二区| 色诱亚洲精品久久久久久| 欧美日韩一区不卡| 亚洲国产精品一区二区久久恐怖片 | 久久99久久久欧美国产| 首页综合国产亚洲丝袜| 日日欢夜夜爽一区| 日本人妖一区二区| 激情综合五月婷婷| 懂色av一区二区三区免费看| 成人sese在线| 欧美在线观看一区| 欧美高清hd18日本| 国产精品美女久久久久高潮| 亚洲国产精品黑人久久久| 中文字幕亚洲精品在线观看| 亚洲视频你懂的| 日精品一区二区| 韩国三级电影一区二区| 成人av电影在线| 欧美日韩国产免费一区二区 | 欧美α欧美αv大片| 久久久久久毛片| 国产精品白丝在线| 亚洲夂夂婷婷色拍ww47| 日韩av电影一区| 国产99一区视频免费| 色综合久久九月婷婷色综合| 欧美人动与zoxxxx乱| 久久综合狠狠综合久久激情| 国产精品国产三级国产| 天堂午夜影视日韩欧美一区二区| 国内精品嫩模私拍在线| 91在线免费看| 欧美不卡激情三级在线观看| 中日韩免费视频中文字幕| 亚洲va欧美va国产va天堂影院| 激情六月婷婷久久| 在线视频观看一区| 久久蜜桃香蕉精品一区二区三区| 亚洲美女在线国产| 国产美女一区二区三区| 欧美在线观看视频一区二区三区| 日韩一二三四区| 亚洲男女一区二区三区| 另类欧美日韩国产在线| 色网综合在线观看| 国产午夜精品福利| 日韩国产精品久久久| 99精品久久免费看蜜臀剧情介绍| 51午夜精品国产| 亚洲日本青草视频在线怡红院| 蜜桃av一区二区在线观看| 91在线porny国产在线看| 精品久久久网站| 亚洲gay无套男同| 99视频超级精品| 久久精品亚洲一区二区三区浴池| 视频一区视频二区中文| 99久久99久久精品国产片果冻| 精品国精品国产| 日韩精品一二三| 在线一区二区三区做爰视频网站| 久久精品人人做人人爽97| 视频一区二区三区在线| 色噜噜久久综合| ...av二区三区久久精品| 韩国在线一区二区| 日韩一级欧美一级| 亚洲第一成年网| 在线观看一区二区精品视频| 中文字幕在线一区| 粗大黑人巨茎大战欧美成人| 久久久精品国产免费观看同学| 奇米色777欧美一区二区| 欧美日韩一区不卡| 亚洲一区二区三区四区五区黄| 成人网男人的天堂| 国产亚洲美州欧州综合国| 国产一区二区导航在线播放| 欧美一级片在线| 日韩av在线免费观看不卡| 欧美日韩aaaaa| 香蕉影视欧美成人| 欧美人体做爰大胆视频| 亚洲国产wwwccc36天堂| 欧美三级电影精品| 午夜欧美在线一二页| 欧美人成免费网站| 青青草原综合久久大伊人精品 | 欧美日韩一区二区三区在线看| 亚洲人成在线播放网站岛国| 91老师片黄在线观看| 亚洲女女做受ⅹxx高潮| 色悠悠久久综合| 亚洲国产va精品久久久不卡综合| 欧美中文字幕一区二区三区 | 色屁屁一区二区| 亚洲午夜日本在线观看| 欧美日韩成人综合在线一区二区| 亚洲国产日韩综合久久精品| 精品视频资源站| 蜜臀av性久久久久蜜臀aⅴ| 精品日韩99亚洲| 成人免费毛片嘿嘿连载视频| 中文字幕亚洲一区二区va在线| 色婷婷激情综合| 偷拍与自拍一区| 欧美成人vps| 粉嫩在线一区二区三区视频| 亚洲欧洲精品一区二区三区| 在线日韩av片| 热久久国产精品| 久久久久久久一区| 91在线观看高清| 日韩精品三区四区| 国产婷婷一区二区| 一本大道久久a久久精二百| 丝袜美腿亚洲一区| 国产亚洲成年网址在线观看| 99精品视频中文字幕| 亚洲图片欧美色图|