{$text}"; $additionalHeaders = array('Content-Length: ' . strlen($text)); $curlOptions = array(CURLOPT_CONNECTTIMEOUT => 30, CURLOPT_POSTFIELDS => $text); $response = performYandexWebmasterApiRequest($url, 'POST', $curlOptions, $additionalHeaders); return $response; } function getPage($curlOptions = array()) { $ch = curl_init(); curl_setopt_array($ch, $curlOptions); $result = curl_exec($ch); $info = curl_getinfo($ch); return array('result' => $result, 'info' => $info); } function performYandexWebmasterApiRequest($url, $requestType = 'GET', $curlOptions = array(), $additionalHeaders = array()) { $headers = array( "{$requestType} {$url} HTTP/1.1", 'Host: webmaster.yandex.ru', 'Authorization: OAuth ' . YANDEX_TOKEN ); $headers = array_merge($headers, $additionalHeaders); $requestOptions = array( CURLOPT_URL => 'https://' . YANDEX_WEBMASTER_HOST . $url, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_CONNECTTIMEOUT => YANDEX_API_REQUEST_TIMEOUT, CURLOPT_HTTPHEADER => $headers, CURLOPT_RETURNTRANSFER => 1 ); if (count($curlOptions)) { foreach ($curlOptions as $curlOption => $curlOptionValue) { $requestOptions[$curlOption] = $curlOptionValue; } } $response = getPage($requestOptions); return $response; } $text = <<"; print "\nHTTP CODE: " . $response['info']['http_code']; print "\nURL:" . $response['info']['url']; print "\n ------------------ Response from Yandex: ---------------------\n\n"; var_dump($response['result']); print "";