_url; $ba=$this->createAuthUrl($url); foreach($this->_bypass as $key=>$value) { $url=str_replace($key,$value,$url); } $url=str_replace("&","&",$url); $url = urlencode($url); $url=str_replace("%252F","/",$url); $url=str_replace("%253A",":",$url); $url=str_replace("%20"," ",$url); $url=str_replace("%21","!",$url); $url=str_replace("%23","#",$url); $url=str_replace("%24","$",$url); $url=str_replace("%25","%",$url); $url=str_replace("%26","&",$url); $url=str_replace("%27","'",$url); $url=str_replace("%28","(",$url); $url=str_replace("%29",")",$url); $url=str_replace("%2A","*",$url); $url=str_replace("%2B","+",$url); $url=str_replace("%2C",",",$url); $url=str_replace("%2D","-",$url); $url=str_replace("%2E",".",$url); $url=str_replace("%2F","/",$url); $url=str_replace("%3A",":",$url); $url=str_replace("%3B",";",$url); // $url=str_replace("%3C","<",$url); $url=str_replace("%3D","=",$url); // $url=str_replace("%3E",">",$url); $url=str_replace("%3F","?",$url); $url=str_replace("%40","@",$url); // $url .= '&VERSION=1.0.0&RAND=0.028248802181169763&GRID_SIZE=10&INFER_CONF_MIN=0.7&INFER_CONF_MAX=1&MAP_RESOLUTION=112.5'; // var_dump(strtolower($url)); // die(); $curl = curl_init($url); if (!empty($ba)) { curl_setopt($curl, CURLOPT_USERPWD, $ba); } curl_setopt($curl, CURLOPT_MUTE, true); curl_setopt($curl, CURLOPT_ENCODING, 'UTF-8'); curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13'); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true); if (!empty($this->_proxy_Server)){ curl_setopt($curl, CURLOPT_PROXY,$this->_proxy_Server); if (!empty($this->_proxy_Port)){ curl_setopt($curl, CURLOPT_PROXYPORT,$this->_proxy_Port); } if (!empty($this->_proxy_auth_type)){ curl_setopt($curl, CURLOPT_HTTPAUTH, $this->_proxy_auth_type); } if (!empty($this->_proxy_username)){ curl_setopt($curl, CURLOPT_PROXYUSERPWD, $this->_proxy_username.':'.$this->_proxy_password); } } if (!empty($this->_postData)) { curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/xml')); curl_setopt($curl, CURLOPT_POSTFIELDS, $this->_postData); } if (!empty($this->_postTxtData)) { curl_setopt($curl, CURLOPT_POSTFIELDS, $this->_postTxtData); } $this->o_response = curl_exec($curl); $this->o_responseCode = (string)curl_getinfo($curl, CURLINFO_HTTP_CODE); curl_close($curl); } public function createAuthUrl($url) { $_ba = ""; foreach($_SESSION["credentials"] as $key=>$value) { if (strpos($url,$key)!==FALSE) { $serviceUsername = $_SESSION["credentials"][$key]["username"]; $servicePassword = $_SESSION["credentials"][$key]["password"]; if ($serviceUsername!="") { $purl=parse_url($url); $_ba = $serviceUsername.":".$servicePassword; } } break; } return $_ba; } public function xmlNode($_xpath) { require("config.php"); libxml_use_internal_errors(true); if (empty($this->_xmlDocument)) { $xml=new DOMDocument(); $xml->loadXML($this->o_response); $this->_xmlDocument = $xml; } $xpath = new DOMXPath($this->_xmlDocument); foreach($_config["NAMESPACES"] as $key=>$value) { $xpath->registerNamespace($key,$value); } $value=$xpath->evaluate($_xpath); if ($value->length===0) { return ""; } return $value; } public function jsonNode($_xpath) { $_json = json_decode($this->o_response,true); $_exp = explode("/",$_xpath); $value = &$_json; foreach($_exp as $key) { $value = &$value[$key]; } return $value; } public function checkUrlScheme($_url) { $uri = parse_url($_url); $_url = isset($uri['scheme']) ? $_url : 'http://'.$_url; return $_url; } public function nodeNamespace($prefix) { $xml=new DOMDocument(); $xml->loadXML($this->o_response); return $xml->documentElement->lookupnamespaceURI($prefix); } public static function createUriQuery($_uri,$_query) { $uri = parse_url($_uri); $uriQuery =explode("&",$uri["query"]); $_newQuery=array(); $_newUri[] = isset($uri['scheme']) ? $uri['scheme'] . '://' : ''; $_newUri[] = isset($uri['host']) ? $uri['host'] : ''; $_newUri[] = isset($uri['port']) ? ':'.$uri['port']:''; $_newUri[] = isset($uri['path']) ? $uri['path'] : ''; if ($_query != null) { foreach($uriQuery as $key=>$value) { $queryVars = explode("=",$value); $queryVarsField = $queryVars[0]; if (((strtolower($queryVarsField)!= "request") && (strtolower($queryVarsField)!= "service")) && (!empty($value)) && (!empty($queryVarsField))) { $_newQuery[] = $value; } } foreach($_query as $key=>$value) { $_newQuery[] =$key."=".$value; } } $_newUri=implode("",$_newUri); if(count($_newQuery)>0) { $_newUri=$_newUri."?".implode("&",$_newQuery); } $_newUri=str_replace(" ","+",$_newUri); return $_newUri; } } ?>