当前位置: 首页>>代码示例>>PHP>>正文


PHP HTTP_Request2_Response::getEffectiveUrl方法代码示例

本文整理汇总了PHP中HTTP_Request2_Response::getEffectiveUrl方法的典型用法代码示例。如果您正苦于以下问题:PHP HTTP_Request2_Response::getEffectiveUrl方法的具体用法?PHP HTTP_Request2_Response::getEffectiveUrl怎么用?PHP HTTP_Request2_Response::getEffectiveUrl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在HTTP_Request2_Response的用法示例。


在下文中一共展示了HTTP_Request2_Response::getEffectiveUrl方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: extract

 public function extract(\HTTP_Request2_Response $res)
 {
     $url = $res->getEffectiveUrl();
     $base = new \Net_URL2($url);
     $sx = simplexml_load_string($res->getBody());
     $linkInfos = array();
     $alreadySeen = array();
     foreach ($sx->entry as $entry) {
         $linkTitle = (string) $entry->title;
         foreach ($entry->link as $xlink) {
             $linkUrl = (string) $base->resolve((string) $xlink['href']);
             if (isset($alreadySeen[$linkUrl])) {
                 continue;
             }
             if ($xlink['rel'] == 'alternate') {
                 $linkInfos[] = new LinkInfo($linkUrl, $linkTitle, $url);
             }
             $alreadySeen[$linkUrl] = true;
         }
     }
     return $linkInfos;
 }
开发者ID:cweiske,项目名称:phinde,代码行数:22,代码来源:Atom.php

示例2: addCookiesFromResponse

 /**
  * Adds cookies set in HTTP response to the jar
  *
  * @param HTTP_Request2_Response $response HTTP response message
  * @param Net_URL2               $setter   original request URL, needed for
  *                               setting default domain/path. If not given,
  *                               effective URL from response will be used.
  *
  * @return bool whether all cookies were successfully stored
  * @throws HTTP_Request2_LogicException
  */
 public function addCookiesFromResponse(HTTP_Request2_Response $response, Net_URL2 $setter = null)
 {
     if (null === $setter) {
         if (!($effectiveUrl = $response->getEffectiveUrl())) {
             throw new HTTP_Request2_LogicException('Response URL required for adding cookies from response', HTTP_Request2_Exception::MISSING_VALUE);
         }
         $setter = new Net_URL2($effectiveUrl);
     }
     $success = true;
     foreach ($response->getCookies() as $cookie) {
         $success = $this->store($cookie, $setter) && $success;
     }
     return $success;
 }
开发者ID:Geeklog-Core,项目名称:geeklog,代码行数:25,代码来源:CookieJar.php

示例3: extract

 public function extract(\HTTP_Request2_Response $res)
 {
     $url = Helper::removeAnchor($res->getEffectiveUrl());
     $linkInfos = array();
     //FIXME: mime type switch for cdata
     $doc = new \DOMDocument();
     //@ to hide parse warning messages in invalid html
     @$doc->loadHTML($res->getBody());
     //FIXME: extract base url from html
     $base = new \Net_URL2($url);
     $dx = new \DOMXPath($doc);
     $xbase = $dx->evaluate('/html/head/base[@href]')->item(0);
     if ($xbase) {
         $base = $base->resolve($xbase->attributes->getNamedItem('href')->textContent);
     }
     $meta = $dx->evaluate('/html/head/meta[@name="robots" and @content]')->item(0);
     if ($meta) {
         $robots = $meta->attributes->getNamedItem('content')->textContent;
         foreach (explode(',', $robots) as $value) {
             if (trim($value) == 'nofollow') {
                 //we shall not follow the links
                 return array();
             }
         }
     }
     $links = $dx->evaluate('//a');
     //FIXME: link rel, img, video
     $alreadySeen = array($url => true);
     foreach ($links as $link) {
         $linkTitle = Helper::sanitizeTitle($link->textContent);
         $href = '';
         foreach ($link->attributes as $attribute) {
             if ($attribute->name == 'href') {
                 $href = $attribute->textContent;
             } else {
                 if ($attribute->name == 'rel') {
                     foreach (explode(',', $attribute->textContent) as $value) {
                         if (trim($value) == 'nofollow') {
                             //we shall not follow this link
                             continue 3;
                         }
                     }
                 }
             }
         }
         if ($href == '' || $href[0] == '#') {
             //link on this page
             continue;
         }
         $linkUrlObj = $base->resolve($href);
         $linkUrlObj->setFragment(false);
         $linkUrl = (string) $linkUrlObj;
         if (isset($alreadySeen[$linkUrl])) {
             continue;
         }
         switch ($linkUrlObj->getScheme()) {
             case 'http':
             case 'https':
                 break;
             default:
                 continue 2;
         }
         //FIXME: check target type
         $linkInfos[] = new LinkInfo($linkUrl, $linkTitle, $url);
         $alreadySeen[$linkUrl] = true;
     }
     return $linkInfos;
 }
开发者ID:cweiske,项目名称:phinde,代码行数:68,代码来源:Html.php


注:本文中的HTTP_Request2_Response::getEffectiveUrl方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。