Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Не помогло.Мммм, а где собственно опция что он должен POST слать ?
Код:curl_setopt($ch, CURLOPT_POST, true);
# Функция для курления
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 sendTextToYandex($text) {
$url = "/api/v2/hosts/" . WEBSITE_ID . "/original-texts/";
// $url = "/v3/user/".USER_ID."/" . WEBSITE_ID . "/original-texts/";
$text = urlencode($text);
$text = "<original-text><content>{$text}</content></original-text>";
$additionalHeaders = array('Content-Length: ' . strlen($text));
$curlOptions = array(CURLOPT_CONNECTTIMEOUT => 30, CURLOPT_POSTFIELDS => $text);
$response = performYandexWebmasterApiRequest($url, 'POST', $curlOptions, $additionalHeaders);
// pp($response);
return $response;
}
# Функция непосредственной подготовки на выполнения запроса добавления уникального текста
function performYandexWebmasterApiRequest($url, $requestType = 'GET', $curlOptions = array(), $additionalHeaders = array()) {
$headers = array(
"{$requestType} {$url} HTTPS/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);
// pp( $response );
return $response;
}
<?php
$postData = array("grant_type" => "authorization_code", "code" => $code, "client_id" => $client_id, "client_secret" => $client_secret);
// print_r($client_secret); die();
$ch = curl_init('https://yandex.ru');
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);
curl_setopt($ch, CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
$response = curl_exec($ch);
echo $response;
curl_close($ch);
вот тут и начинается интересное, видимо...Должен возвращаться контент отдаваемый сервером.
Вот я взял кусок кода из класса и чуток изменил для теста
И получаю главную страницу Яндекса, т.е. все норм.Код:<?php $postData = array("grant_type" => "authorization_code", "code" => $code, "client_id" => $client_id, "client_secret" => $client_secret); // print_r($client_secret); die(); $ch = curl_init('https://yandex.ru'); curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS); curl_setopt($ch, CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); $response = curl_exec($ch); echo $response; curl_close($ch);
Проверь у себя его.
курл есть. Старая версия скрипта (на основе плагина для WP) работает. Работал, т.е., пока не отключили в яндексе api v2.Сделай
и поищи в показанной странице curl, может его тупо нету?Код:<?php phpinfo(); ?>
у тебя вообще откуда скрипт запускается?