Блокируется такая функция, на локалке все работает. Ошибка 500
function get_partner_price($url, $partner){ $ch = curl_init(); curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); $html = curl_exec($ch); curl_close($ch); switch($partner){ case 'expert': $result = []; $classname = 'product__price-count'; $domdocument = new DOMDocument('1.0', 'utf-8'); @$domdocument->loadHTML($html); $a = new DOMXPath($domdocument); $spans = $a->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]"); for ($i = $spans->length - 1; $i > -1; $i--) { $result[] = utf8_decode($spans->item($i)->firstChild->nodeValue); } $price = $result[0]; if($price == null) { return null; } break; case 'spets': $doc = new DOMDocument(); @$doc->loadHTML($html); $price=$doc->getElementById('priceOffers')->nodeValue; if($price == null) { return null; } break; case 'sirius': $result = []; $classname = 'price-opt'; $doс = new DOMDocument('1.0', 'utf-8'); @$doс->loadHTML($html); $a = new DOMXPath($doс); $spans = $a->query( "//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]/span" ); for ($i = $spans->length - 1; $i > -1; $i--) { $result[] = utf8_decode($spans->item($i)->firstChild->nodeValue); } $price = $result[12]; if($price == null) { return null; } break; default: $price = null; break; } return $price; }
Ответы (1)