protected function runProviderTest(ProviderInterface $provider)
 {
     $this->assertTrue($provider->isSpamReferrer($this->parser->parseUrl('http://example.org')));
     $this->assertTrue($provider->isSpamReferrer($this->parser->parseUrl('http://dev.example.org')));
     $this->assertTrue($provider->isSpamReferrer($this->parser->parseUrl('http://dev.example.com')));
     $this->assertFalse($provider->isSpamReferrer($this->parser->parseUrl('http://xyz.example.com')));
 }
 /**
  * @param string|Url $url
  * @return bool
  */
 public function isSpamReferrer($url)
 {
     if (!$url instanceof Url) {
         try {
             $url = $this->domainParser->parseUrl($url);
         } catch (\Exception $exp) {
             return false;
         }
     }
     return $this->provider->isSpamReferrer($url);
 }
示例#3
0
 /**
  * Scheme should be output in lowercase regardless of case of original arg
  *
  * @group issue51
  *
  * @see https://tools.ietf.org/html/rfc3986#section-3.1
  */
 public function testSchemeAlwaysConvertedToLowerCasePerRFC3986()
 {
     $spec = 'HttPS://www.google.com';
     $expected = 'https://www.google.com';
     $url = $this->parser->parseUrl($spec);
     $this->assertEquals($expected, $url->__toString());
 }
示例#4
0
 protected function setUp()
 {
     parent::setUp();
     $file = realpath(dirname(__DIR__) . '/../../../data/' . PublicSuffixListManager::PDP_PSL_PHP_FILE);
     $psl = new PublicSuffixList($file);
     $parser = new Parser($psl);
     $this->url = $parser->parseUrl($this->spec);
 }
 /**
  * @group issue29
  * @see https://github.com/jeremykendall/php-domain-parser/issues/29
  */
 public function testIdnToAscii()
 {
     $idn = 'Яндекс.РФ';
     $expected = 'http://яндекс.рф';
     $url = $this->parser->parseUrl($idn);
     $actual = $url->__toString();
     $this->assertEquals($expected, $actual);
 }
示例#6
0
文件: Uri.php 项目: cawaphp/cawa
 /**
  * @return string|null
  */
 public function getDomain()
 {
     if (!isset($this->uri['host'])) {
         return null;
     }
     $pslManager = new PublicSuffixListManager();
     $parser = new Parser($pslManager->getList());
     $parse = $parser->parseUrl($this->uri['host'] . '://' . $this->uri['host']);
     return $parse->host->registerableDomain;
 }
示例#7
0
文件: Uri.php 项目: cawaphp/cawa
 /**
  * @param bool $withSuffix
  *
  * @return null|string
  */
 public function getDomain(bool $withSuffix = true)
 {
     if (!isset($this->uri['host'])) {
         return null;
     }
     $pslManager = new PublicSuffixListManager();
     $parser = new Parser($pslManager->getList());
     $parse = $parser->parseUrl($this->uri['host'] . '://' . $this->uri['host']);
     if ($withSuffix) {
         return $parse->host->registerableDomain;
     } else {
         return substr($parse->host->registerableDomain, 0, -strlen($parse->host->publicSuffix) - 1);
     }
 }
 /**
  * Scheme should return null when scheme is not provided.
  *
  * @group issue53
  *
  * @see https://github.com/jeremykendall/php-domain-parser/issues/53
  */
 public function testSchemeReturnsNullIfNotProvidedToParser()
 {
     $spec = 'google.com';
     $url = $this->parser->parseUrl($spec);
     $this->assertNull($url->getScheme());
 }
示例#9
0
 /**
  * @group issue18
  * @see https://github.com/jeremykendall/php-domain-parser/issues/18
  */
 public function testFtpUrlToString()
 {
     $ftpUrl = 'ftp://ftp.somewhere.com';
     $url = $this->parser->parseUrl($ftpUrl);
     $this->assertEquals($ftpUrl, $url->__toString());
 }
示例#10
0
<?php

require_once __DIR__ . '/vendor/autoload.php';
use Pdp\PublicSuffixListManager;
use Pdp\Parser;
// Obtain an instance of the parser
$pslManager = new PublicSuffixListManager();
$parser = new Parser($pslManager->getList());
// Parse a URL
$url = $parser->parseUrl('http://*****:*****@www.pref.okinawa.jp:8080/path/to/page.html?query=string#fragment');
// Accessing elements of the URL
var_dump($url);
var_dump($url->__toString());
var_dump($url->getPath());
var_dump($url->getFragment());
// Getting the Host object from the URL
$host = $url->getHost();
// Accessing elements of the Host
var_dump($host);
var_dump($host->__toString());
var_dump($host->getSubdomain());
var_dump($host->getRegistrableDomain());
var_dump($host->getPublicSuffix());
// It's possible to parse a host only, if you prefer
$host = $parser->parseHost('a.b.c.cy');
// Accessing elements of the Host
var_dump($host);
var_dump($host->__toString());
var_dump($host->getSubdomain());
var_dump($host->getRegistrableDomain());
var_dump($host->getPublicSuffix());
示例#11
0
文件: Extractor.php 项目: yoozi/golem
 /**
  * Get the fully qualified naked domain name.
  *
  * @param  Buzz\Message\Request $request
  * @return string
  */
 protected function getDomain($request)
 {
     if ($host = filter_var($this->metadata['host'], FILTER_VALIDATE_IP)) {
         return $host;
     }
     $manager = new PublicSuffixListManager();
     $parser = new DomainParser($manager->getList());
     return $parser->parseUrl($this->metadata['url'])->host->registerableDomain;
 }