Ejemplo n.º 1
0
 /**
  * 
  * @param type $uri
  * @return type
  */
 private function __construct($uri)
 {
     $this->oUri = clone JUri::getInstance($uri);
     if ($uri != 'SERVER') {
         $parts = JchOptimizeHelper::parseUrl($uri);
         $this->oUri->setScheme(!empty($parts['scheme']) ? $parts['scheme'] : null);
         $this->oUri->setUser(!empty($parts['user']) ? $parts['user'] : null);
         $this->oUri->setPass(!empty($parts['pass']) ? $parts['pass'] : null);
         $this->oUri->setHost(!empty($parts['host']) ? $parts['host'] : null);
         $this->oUri->setPort(!empty($parts['port']) ? $parts['port'] : null);
         $this->oUri->setPath(!empty($parts['path']) ? $parts['path'] : null);
         $this->oUri->setQuery(!empty($parts['query']) ? $parts['query'] : null);
         $this->oUri->setFragment(!empty($parts['fragment']) ? $parts['fragment'] : null);
     }
     return $this->oUri;
 }
Ejemplo n.º 2
0
 /**
  * 
  * @param type $url
  * @param array $params
  */
 public static function postAsync($url, $params, array $posts)
 {
     foreach ($posts as $key => &$val) {
         if (is_array($val)) {
             $val = implode(',', $val);
         }
         $post_params[] = $key . '=' . urlencode($val);
     }
     $post_string = implode('&', $post_params);
     $parts = JchOptimizeHelper::parseUrl($url);
     if (isset($parts['scheme']) && $parts['scheme'] == 'https') {
         $protocol = 'ssl://';
         $default_port = 443;
     } else {
         $protocol = '';
         $default_port = 80;
     }
     $fp = @fsockopen($protocol . $parts['host'], isset($parts['port']) ? $parts['port'] : $default_port, $errno, $errstr, 1);
     if (!$fp) {
         JchOptimizeLogger::log($errno . ': ' . $errstr, $params);
     } else {
         $out = "POST " . $parts['path'] . '?' . $parts['query'] . " HTTP/1.1\r\n";
         $out .= "Host: " . $parts['host'] . "\r\n";
         $out .= "Content-Type: application/x-www-form-urlencoded\r\n";
         $out .= "Content-Length: " . strlen($post_string) . "\r\n";
         $out .= "Connection: Close\r\n\r\n";
         if (isset($post_string)) {
             $out .= $post_string;
         }
         fwrite($fp, $out);
         fclose($fp);
     }
 }