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


PHP UrlHelper::getHostFromUrl方法代码示例

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


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

示例1: sendHttpRequestBy


//.........这里部分代码省略.........
                     fwrite($file, $response);
                 }
                 fclose($handle);
             } else {
                 $response = file_get_contents($aUrl, 0, $ctx);
                 $fileLength = strlen($response);
             }
             // restore the socket_timeout value
             if (!empty($default_socket_timeout)) {
                 @ini_set('default_socket_timeout', $default_socket_timeout);
             }
         } else {
             if ($method == 'curl') {
                 if (!self::isCurlEnabled()) {
                     // can be triggered in tests
                     throw new Exception("CURL is not enabled in php.ini, but is being used.");
                 }
                 $ch = @curl_init();
                 if (!empty($proxyHost) && !empty($proxyPort)) {
                     @curl_setopt($ch, CURLOPT_PROXY, $proxyHost . ':' . $proxyPort);
                     if (!empty($proxyUser) && !empty($proxyPassword)) {
                         // PROXYAUTH defaults to BASIC
                         @curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyUser . ':' . $proxyPassword);
                     }
                 }
                 $curl_options = array(CURLOPT_BINARYTRANSFER => is_resource($file), CURLOPT_URL => $aUrl, CURLOPT_USERAGENT => $userAgent, CURLOPT_HTTPHEADER => array($xff, $via, $rangeHeader, $acceptLanguage), CURLOPT_HEADER => is_resource($file) ? false : true, CURLOPT_CONNECTTIMEOUT => $timeout);
                 // Case core:archive command is triggering archiving on https:// and the certificate is not valid
                 if ($acceptInvalidSslCertificate) {
                     $curl_options += array(CURLOPT_SSL_VERIFYHOST => false, CURLOPT_SSL_VERIFYPEER => false);
                 }
                 @curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $httpMethod);
                 if ($httpMethod == 'HEAD') {
                     @curl_setopt($ch, CURLOPT_NOBODY, true);
                 }
                 @curl_setopt_array($ch, $curl_options);
                 self::configCurlCertificate($ch);
                 /*
                  * as of php 5.2.0, CURLOPT_FOLLOWLOCATION can't be set if
                  * in safe_mode or open_basedir is set
                  */
                 if ((string) ini_get('safe_mode') == '' && ini_get('open_basedir') == '') {
                     $curl_options = array(CURLOPT_FOLLOWLOCATION => true, CURLOPT_MAXREDIRS => 5);
                     @curl_setopt_array($ch, $curl_options);
                 }
                 if (is_resource($file)) {
                     // write output directly to file
                     @curl_setopt($ch, CURLOPT_FILE, $file);
                 } else {
                     // internal to ext/curl
                     @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                 }
                 ob_start();
                 $response = @curl_exec($ch);
                 ob_end_clean();
                 if ($response === true) {
                     $response = '';
                 } else {
                     if ($response === false) {
                         $errstr = curl_error($ch);
                         if ($errstr != '') {
                             throw new Exception('curl_exec: ' . $errstr . '. Hostname requested was: ' . UrlHelper::getHostFromUrl($aUrl));
                         }
                         $response = '';
                     } else {
                         $header = '';
                         // redirects are included in the output html, so we look for the last line that starts w/ HTTP/...
                         // to split the response
                         while (substr($response, 0, 5) == "HTTP/") {
                             list($header, $response) = explode("\r\n\r\n", $response, 2);
                         }
                         foreach (explode("\r\n", $header) as $line) {
                             self::parseHeaderLine($headers, $line);
                         }
                     }
                 }
                 $contentLength = @curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
                 $fileLength = is_resource($file) ? @curl_getinfo($ch, CURLINFO_SIZE_DOWNLOAD) : strlen($response);
                 $status = @curl_getinfo($ch, CURLINFO_HTTP_CODE);
                 @curl_close($ch);
                 unset($ch);
             } else {
                 throw new Exception('Invalid request method: ' . $method);
             }
         }
     }
     if (is_resource($file)) {
         fflush($file);
         @fclose($file);
         $fileSize = filesize($destinationPath);
         if ($contentLength > 0 && $fileLength != $contentLength || $fileSize != $fileLength) {
             throw new Exception('File size error: ' . $destinationPath . '; expected ' . $contentLength . ' bytes; received ' . $fileLength . ' bytes; saved ' . $fileSize . ' bytes to file');
         }
         return true;
     }
     if (!$getExtendedInfo) {
         return trim($response);
     } else {
         return array('status' => $status, 'headers' => $headers, 'data' => $response);
     }
 }
开发者ID:josl,项目名称:CGE-File-Sharing,代码行数:101,代码来源:Http.php

示例2: initPiwikHost

 protected function initPiwikHost(InputInterface $input)
 {
     $piwikHostname = $input->getParameterOption('--piwik-domain');
     if (empty($piwikHostname)) {
         $piwikHostname = $input->getParameterOption('--url');
     }
     $piwikHostname = UrlHelper::getHostFromUrl($piwikHostname);
     Url::setHost($piwikHostname);
 }
开发者ID:josl,项目名称:CGE-File-Sharing,代码行数:9,代码来源:Console.php

示例3: executeAsyncCli

 private function executeAsyncCli($url, Output $output, $cmdId)
 {
     $this->processes[] = new Process($cmdId);
     $url = $this->appendTestmodeParamToUrlIfNeeded($url);
     $query = UrlHelper::getQueryFromUrl($url, array('pid' => $cmdId));
     $hostname = UrlHelper::getHostFromUrl($url);
     $command = $this->buildCommand($hostname, $query, $output->getPathToFile());
     Log::debug($command);
     shell_exec($command);
 }
开发者ID:TensorWrenchOSS,项目名称:piwik,代码行数:10,代码来源:CliMulti.php

示例4: getProxyConfiguration

 /**
  * Returns Proxy to use for connecting via HTTP to given URL
  *
  * @param string $url
  * @return array
  */
 private static function getProxyConfiguration($url)
 {
     $hostname = UrlHelper::getHostFromUrl($url);
     $localHostnames = Url::getLocalHostnames();
     if (in_array($hostname, $localHostnames)) {
         return array(null, null, null, null);
     }
     // proxy configuration
     $proxyHost = Config::getInstance()->proxy['host'];
     $proxyPort = Config::getInstance()->proxy['port'];
     $proxyUser = Config::getInstance()->proxy['username'];
     $proxyPassword = Config::getInstance()->proxy['password'];
     return array($proxyHost, $proxyPort, $proxyUser, $proxyPassword);
 }
开发者ID:FluentDevelopment,项目名称:piwik,代码行数:20,代码来源:Http.php

示例5: test_getHostFromUrl

 /**
  * @group Core
  */
 public function test_getHostFromUrl()
 {
     $this->assertEquals('', UrlHelper::getHostFromUrl(''));
     $this->assertEquals('', UrlHelper::getHostFromUrl(null));
     $this->assertEquals('localhost', UrlHelper::getHostFromUrl('http://localhost'));
     $this->assertEquals('localhost', UrlHelper::getHostFromUrl('http://localhost/path'));
     $this->assertEquals('localhost', UrlHelper::getHostFromUrl('localhost/path'));
     $this->assertEquals('sub.localhost', UrlHelper::getHostFromUrl('sub.localhost/path'));
     $this->assertEquals('sub.localhost', UrlHelper::getHostFromUrl('http://sub.localhost/path/?query=test'));
     if (SystemTestCase::isPhpVersion53()) {
         //parse_url was fixed in 5,4,7
         //  Fixed host recognition when scheme is omitted and a leading component separator is present.
         // http://php.net/parse_url
         return;
     }
     $this->assertEquals('localhost', UrlHelper::getHostFromUrl('//localhost/path'));
     $this->assertEquals('localhost', UrlHelper::getHostFromUrl('//localhost/path?test=test2'));
     $this->assertEquals('example.org', UrlHelper::getHostFromUrl('//example.org/path'));
     $this->assertEquals('example.org', UrlHelper::getHostFromUrl('//example.org/path?test=test2'));
 }
开发者ID:ahdinosaur,项目名称:analytics.dinosaur.is,代码行数:23,代码来源:UrlHelperTest.php

示例6: test_getHostFromUrl

 /**
  * @group Core
  */
 public function test_getHostFromUrl()
 {
     $this->assertEquals('', UrlHelper::getHostFromUrl(''));
     $this->assertEquals('', UrlHelper::getHostFromUrl(null));
     $this->assertEquals('localhost', UrlHelper::getHostFromUrl('http://localhost'));
     $this->assertEquals('localhost', UrlHelper::getHostFromUrl('http://localhost/path'));
     $this->assertEquals('localhost', UrlHelper::getHostFromUrl('localhost/path'));
     $this->assertEquals('sub.localhost', UrlHelper::getHostFromUrl('sub.localhost/path'));
     $this->assertEquals('sub.localhost', UrlHelper::getHostFromUrl('http://sub.localhost/path/?query=test'));
 }
开发者ID:carriercomm,项目名称:piwik,代码行数:13,代码来源:UrlHelperTest.php


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