⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xrires.php

📁 简介:IceBB是一个强大
💻 PHP
字号:
<?php/** * Code for using a proxy XRI resolver. */require_once 'Auth/Yadis/XRDS.php';require_once 'Auth/Yadis/XRI.php';class Auth_Yadis_ProxyResolver {    function Auth_Yadis_ProxyResolver(&$fetcher, $proxy_url = null)    {        $this->fetcher =& $fetcher;        $this->proxy_url = $proxy_url;        if (!$this->proxy_url) {            $this->proxy_url = Auth_Yadis_getDefaultProxy();        }    }    function queryURL($xri, $service_type = null)    {        // trim off the xri:// prefix        $qxri = substr(Auth_Yadis_toURINormal($xri), 6);        $hxri = $this->proxy_url . $qxri;        $args = array(                      '_xrd_r' => 'application/xrds+xml'                      );        if ($service_type) {            $args['_xrd_t'] = $service_type;        } else {            // Don't perform service endpoint selection.            $args['_xrd_r'] .= ';sep=false';        }        $query = Auth_Yadis_XRIAppendArgs($hxri, $args);        return $query;    }    function query($xri, $service_types, $filters = array())    {        $services = array();        $canonicalID = null;        foreach ($service_types as $service_type) {            $url = $this->queryURL($xri, $service_type);            $response = $this->fetcher->get($url);            if ($response->status != 200) {                continue;            }            $xrds = Auth_Yadis_XRDS::parseXRDS($response->body);            if (!$xrds) {                continue;            }            $canonicalID = Auth_Yadis_getCanonicalID($xri,                                                         $xrds);            if ($canonicalID === false) {                return null;            }            $some_services = $xrds->services($filters);            $services = array_merge($services, $some_services);            // TODO:            //  * If we do get hits for multiple service_types, we're            //    almost certainly going to have duplicated service            //    entries and broken priority ordering.        }        return array($canonicalID, $services);    }}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -