По сравнению с версией 1.0.20120120 были внесены следующие изменения: Для параметров: - Оптимизирована работа базы данных плагина. -...
|
Работа с API сайта
|
Работа с API
API сайта recipdonor.com позволяет разработчикам различных приложений использовать ресурсы сервера для массовой проверки любых seo-параметров без бана, каптчей, таймаутов, поиска прокси, смены верстки поисковых машин, проблем парсинга значений, предоставления их в нужном формате и прочего. Все это будет происходить за счет сторонних ресурсов других серверов.
На рынке в данный момент существует достаточно онлайн сервисов и программ для получения различных seo-параметров, решающие разные задачи.
Их разработчики постоянно сталкиваются с однотипными и повседневными проблемами, такими как распарсивания значений, бана и работы с большим объемом данных.
Все это задерживает их разработку, и превращает в рутину или убивает идею на корню.
Все эти проблемы мы берем на себя, и вы сможете получать любые seo-значения
напрямую от нас.
Библиотека .NET для работы с API
/// <summary>
/// Синхронный пример работы
/// </summary>
public static void SyncExample()
{
//пример создания проверки без событий
ICheck CyCheckerWithoutEvents = new CyCheck(new[] {"helloworld.ru"});
string ApiKey = "ApiKey from RDS";
CyCheckerWithoutEvents.Start(ApiKey);
}
/// <summary>
/// Асинхронный пример работы
/// </summary>
public static void AsyncExample()
{
//пример создания проверки c событиями
ICheck CyCheckerEvents = new CyCheck(new[] { "helloworld.ru","ya.ru" }, ProgressChanged, StateChanged);
//ApiKey - берется из Пользовательской инфы на сайте RDS
string ApiKey ="ApiKey from RDS";
//запуск асинхронной проверки, во время работы будут возникать события ProgressChanged-изменения кол-ва проверенных,
//StateChanged - изменение состояния сесси
IAsyncResult asyncResult=CyCheckerEvents.StartAsync(ApiKey);
//Принудительная остановка проверки
CyCheckerEvents.CloseAsync();
//ожидание остановки
while (!asyncResult.AsyncWaitHandle.WaitOne(1000)) { }
//Продолжение этой же проверки в синхронном режиме
CyCheckerEvents.Start();
Console.ReadKey();
}
/// <summary>
/// Обработка события изменения кол-ва проверенных данных
/// </summary>
/// <param name="sender">обьект ICheck</param>
/// <param name="progressChangedEventArgs">аргументы изменения проверки</param>
static void ProgressChanged(object sender, ProgressChangedEventArgs progressChangedEventArgs)
{
}
/// <summary>
/// Обработка события изменения состояния проверки
/// </summary>
/// <param name="sender">обьект ICheck</param>
/// <param name="stateChangedEventArgs">аргумент изменения изменения состояния</param>
static void StateChanged(object sender, StateChangedEventArgs stateChangedEventArgs)
{
switch (stateChangedEventArgs.NewStatus)
{
case TaskStatus.Completed:
foreach (KeyValuePair<object,object> keyValuePair in ((ICheck)sender).Result)
{
Console.WriteLine("itemTocheck - {0},Result - {1}",keyValuePair.Key,keyValuePair.Value);
}
foreach (KeyValuePair<string,CyApiData> keyValuePair in ((CyCheck) sender).Result)
{
Console.WriteLine("itemTocheck - {0},Result - {1}", keyValuePair.Key,
String.Format("{0},{1},{2}", keyValuePair.Value.Cy,keyValuePair.Value.YaBarMirrow,keyValuePair.Value.Yaca));
}
break;
}
}
Общие данные:
REST интерфейс доступен по адресу http://www.recipdonor.com:998/api/ или https://www.recipdonor.com:999/api/ (сертификат пока не подписан).
Обращаться необходимо на 998-й или 999-й порт.
Все строковые данные при работе с интерфейсом указываются и возвращаются в кодировке UTF-8.
Приглашаем к сотрудничеству компании и проекты, работающие на рынке поисковой оптимизации. И надеемся, что будем друг другу полезны. Для таких разработчиков, использующих наше API в своих продуктах, кроме получения партнерского вознаграждения от привлеченных пользователей, также предусмотрена отдельная программа бонусов от потраченной ими суммы.
Данный функционал пока находится в статусе "beta". Если вам необходимы какие-то дополнительные параметры или в API нужно вносить какие-то корректировки для удобства работы – не бойтесь связываться с нами для оперативных консультаций и разъяснений непонятных моментов. Также можете присылать Ваши вопросы и пожелания на support@recipdonor.com или воспользоваться обратной связью.
Авторизация
В API используется Basic HTTP Authentication.
Чтобы получить права доступа, клиент посылает API ключ пользователя (apikey) и символ двоеточия (":").
f9168c5e-ceb2-4faa-b6bf-329bf39fa1e4:x
Строку необходимо закодировать в base64. Конечный Authorization header имеет вид:
Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=
Пример простого запроса:
GET /api/age/test.com HTTP/1.1 Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong= Content-Type: text/xml; charset=utf-8 Host: recipdonor.com:998
API ключ можно получить в профайле по ссылке
Партнерский ключ приложения
Разработчики использующие API recipdonor.com в своих приложениях могут получать пратнерские отчисления.
Для этого доcтаточно добавить Ваш API-ключ приложения в запросы которые посылаются к нашему API.
Ключ в запрос добавляется в виде HTTP Header:
X-RdsAppKey : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Окончательно сформированный запрос может выглядеть примерно так:
GET /api/age/test.com HTTP/1.1 Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong= Content-Type: text/xml; charset=utf-8 X-RdsAppKey : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Host: recipdonor.com:998
Если вы используете нашу клиентскую библиотеку то достаточно добавить в фаил App.config Вашего приложения, строчки:
<configuration> <appSettings> <add key="dllApi.RdsAppKey" value="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"/> </appSettings> </configuration>
Если в конфигурационном фаиле уже существуют разделы configuration/appSettings просто добавте строчку в них.
API-ключ приложения можно получить в профайле по ссылке
Статистику по партнерским отчислениям можно посмотреть здесь
Форматы данных
RDS API для получения и выдачи данных использует форматы JSON и XML. По умолчанию используется формат XML. Для переключения на формат JSON в строку запроса необходимо добавить параметр
format=json
В конечном итоге строка будет иметь вид
/api/age/test.com?format=json
Также необходимо учесть, что при использовании XML нужно передавать заголовок,
Content-Type: text/xml; charset=utf-8
а при использовании JSON
Content-Type: application/json; charset=utf-8
Коды ошибок
Для осуществления проверки тИЦ используются два API метода /session/new и /session/get.
В примере мы проверим на тИЦ сразу несколько сайтов mozilla.com, mozilla.ru, google.com, msdn.microsoft.com. Инициализация проверки осуществляется методом /session/new.
Создадим проверку послав в API запрос вида
PUT /api/session/new HTTP/1.1
Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=
Content-Type: text/xml; charset=utf-8
Host: recipdonor.com:998
Content-Length: 247
<InitSession>
<Parameters>
<TaskVariant>Cy</TaskVariant>
</Parameters>
<DomainNames>
<string>mozilla.com</string>
<string>mozilla.ru</string>
<string>google.com</string>
<string>msdn.microsoft.com</string>
</DomainNames>
</InitSession>
HTTP заголовок Authorization описан в разделе Авторизация
Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=
Справочные данные по методу /session/new
После выполнения запроса мы получим ответ,
<?xml version="1.0" encoding="utf-8"?>
<ApiSessionItemSlimContract>
<Id>88576b78-03c6-40c3-a4db-f4c30bb97081</Id>
<ExpireAt>2010-12-15T14:21:31.0993502+02:00</ExpireAt>
<SessionStatus>ToCheck</SessionStatus>
</ApiSessionItemSlimContract>
что говорит об успешном создании сессии проверки
Id - уникальный идентификатор сессии ExpireAt - сессия будет уничтожена в указанное время SessionStatus - Статус ToCheck говорит нам о том, что сессия поставлена на проверку
Системе на проверку параметра тИЦ может уйти некоторое время, ответ вы можете получить не сразу.
Для получения результатов проверки необходимо использовать метод /session/get
Формируем запрос
GET http://recipdonor.com:998/api/session/get/88576b78-03c6-40c3-a4db-f4c30bb97081 HTTP/1.1 Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong= Content-Type: text/xml; charset=utf-8 Host: recipdonor.com:998 Content-Length: 0
Получаем ответ вида
<?xml version="1.0" encoding="utf-8"?>
<ApiSessionItemContract>
<Id>88576b78-03c6-40c3-a4db-f4c30bb97081</Id>
<ExpireAt>2010-12-15T14:21:31.0993502+02:00</ExpireAt>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData>
<DomainName>mozilla.com</DomainName>
<Values><Data>
<Parameter>Cy</Parameter>
<Value xsi:type="CyApiData">
<Cy>4800</Cy>
<Yaca>0</Yaca>
<YaBarMirrow>1</YaBarMirrow>
</Value>
</Data></Values>
</DomainData>
<DomainData>
<DomainName>mozilla.ru</DomainName>
<Values><Data>
<Parameter>Cy</Parameter>
<Value xsi:type="CyApiData">
<Cy>-666</Cy>
<Yaca>0</Yaca>
<YaBarMirrow>0</YaBarMirrow>
</Value>
</Data></Values>
</DomainData>
<DomainData>
<DomainName>google.com</DomainName>
<Values><Data>
<Parameter>Cy</Parameter>
<Value xsi:type="CyApiData">
<Cy>65000</Cy>
<Yaca>0</Yaca>
<YaBarMirrow>1</YaBarMirrow>
</Value>
</Data></Values>
</DomainData>
<DomainData>
<DomainName>msdn.microsoft.com</DomainName>
<Values><Data>
<Parameter>Cy</Parameter>
<Value xsi:type="CyApiData">
<Cy>4500</Cy>
<Yaca>Hi-Tech/Программы/Операционные системы/Windows</Yaca>
<YaBarMirrow>0</YaBarMirrow>
</Value>
</Data></Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
Наибольший интерес для нас представляют данные из тегов <Value xsi:type="CyApiData">
Cy - значение тИЦ (-666 = склеен) Yaca - Я.Каталог ( 0 = не присутствует в Я.Каталог) YaBarMirrow - зеркало
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии (Cy - тИЦ, IY - Я.Индекс)
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>Cy</TaskVariant>
<TaskVariant>IY</TaskVariant>
</Parameters>
<DomainNames>
<string>msdn.microsoft.com</string>
<string>gmail.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
switch($data->Parameter)
{
// Данные тИЦ
case 'Cy':
{
echo "\t Cy=".$data->Value->Cy.PHP_EOL;
echo "\t Yaca=\"".$data->Value->Yaca."\"".PHP_EOL;
echo "\t YaBarMirrow=".$data->Value->YaBarMirrow.PHP_EOL;
break;
}
// Данные Я.Индекс
case 'IY':
{
echo "\t IY={$data->Value}".PHP_EOL;
break;
}
default:
break;
}
}
echo PHP_EOL;
}
/*
* Результат выполнения скрипта
*
* msdn.microsoft.com
* Cy=4500
* Yaca="Hi-Tech/Программы/Операционные системы/Windows"
* YaBarMirrow=0
* IY=155000
*
* gmail.com
* Cy=1500
* Yaca="Hi-Tech/Интернет/Электронная почта"
* YaBarMirrow=1
* IY=4
*
* */
Наличие сайтов в различных биржах можно проверить используюя API функцию /seo/bulk.
Создаем запрос
Параметр "Parameters" может быть либо упущен, тогда проверка будет осуществляться на наличие во всем seo биржах( Sape, MainLink, LinkFeed, SetLinks, Xap, TrustLink, Propage, Liex, Seozavr, SapeArticles, SapePr, Miralinks, Gogetlinks,Blogun, RotaPost, Rds), либо можно указать конкретные биржи.
POST /api/session/new HTTP/1.1
Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=
Content-Type: text/xml; charset=utf-8
Host: recipdonor.com:998
<InitSeoData>
<Domains>
<string>san-club.net</string>
</Domains>
<Parameters>
<Seo>Mainlink</Seo>
</Parameters>
</InitSeoData>Получаем ответ
<ArrayOfSeoItem>
<SeoItem>
<Url>san-club.net</Url>
<Seos>
<Seo>Mainlink</Seo>
</Seos>
</SeoItem>
</ArrayOfSeoItem><?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// Формируем XML
$post_data = "
<InitSeoData>
<Parameters>
</Parameters>
<Domains>
<string>san-club.net</string>
</Domains>
<Parameters>
<Seo>Mainlink</Seo>
</Parameters>
</InitSeoData>
";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/seo/bulk");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_POST, true);
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($post_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
// Посылаем запрос
$seoData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$seoXmlData = new SimpleXMLElement($seoData);
foreach($seoXmlData as $seoItem)
{
foreach ($seoItem->Seos->Seo as $seo) {
echo "{$seoItem->Url} - {$seo}".PHP_EOL;
}
}
Множественное получение истории проверок (также присутствует возможность использовать параметры фильтров) возможно используя функцию /historybulk/siteslibrary.
Перед выполнением можно получить кол-во значений в базе для вычисления стоимости запроса /historybulk/count/siteslibrary (такая проверка бесплатная).
Пример запроса множественного получения истории (в данном примере истории тИЦ для одного из сайтов и истории Индекс Я для другого)
<ArrayOfHistoryInit>
<HistoryInit>
<Url>nnsdaasdasdasdm.ru</Url>
<HistoryType>CyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>false</OnlyDates>
<MaxCount xsi:nil="true" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" />
<DatesVariety>
<Dates>
<dateTime>2011-12-12T00:00:00</dateTime>
<dateTime>2012-01-24T00:00:00</dateTime>
<dateTime>2011-12-26T00:00:00</dateTime>
</Dates>
<DatesThrough>
<DateInterval>
<BeginDate>2011-10-21T00:00:00</BeginDate>
<EndDate>2012-01-03T00:00:00</EndDate>
</DateInterval></DatesThrough>
</DatesVariety>
</HistoryInit>
<HistoryInit>
<Url>aabrahaasdasdasdabr.com</Url>
<HistoryType>IyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>true</OnlyDates>
<MaxCount xsi:nil="true" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" />
<DatesVariety>
<Dates>
<dateTime>2011-12-26T00:00:00</dateTime>
<dateTime>2006-12-12T00:00:00</dateTime>
</Dates>
<DatesThrough>
<DateInterval>
<BeginDate>2011-10-21T00:00:00</BeginDate>
<EndDate>2012-01-03T00:00:00</EndDate>
</DateInterval>
</DatesThrough>
</DatesVariety>
</HistoryInit>
</ArrayOfHistoryInit>Как видно из примера имеется возможность задать различные параметры отдельно для каждой из выборок.
Url - доменное имя.
HistoryType - тип истории. В случае xml запроса может принимать значения: CyHistory - для проверки тИЦ, PrHistory - Google PageRank, IyHistory - Индекс Я. Для Json числовые значения 63, 64, 65 соотвественно.
OnlyDifferent - bool параметр, при true выбираются только те даты, где произошли изменения значений параметра, при false выбираются все.
OnlyDates - bool параметр, при true - получаются только даты проверок без значений (при этом оплата не взымается), при false получаются и даты и значения (такая проверка платная).
MaxCount - максимальное возвращаемое кол-во результатов.
DatesVariety - контейнер в котором можно указать параметры выборки с учетом дат, может содержать в себе Dates - в котором указываются значения дат проверки в которые Вы хотите получить, а также DatesThrough - содержит в себе периоды дат (DateInterval - содержащий начальное и конечное значения) значения проверок в которые Вы хотите получить.
Пример ответа на запрос множественного получения истории (в данном примере истории тИЦ для одного из сайтов и истории Индекс Я для другого)
<ArrayOfHistoryBulkResult>
<HistoryBulkResult><Url>nnsdaasdasdasdm.ru</Url>
<HistoryType>CyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>false</OnlyDates>
<HistoryItems>
<HistoryItem>
<Date>1999-05-31T11:20:00</Date>
<Value>2147483647</Value>
</HistoryItem>
<HistoryItem>
<Date>1999-05-31T11:20:00</Date>
<Value>2147483647</Value>
</HistoryItem>
</HistoryItems>
<ResultsCount>2</ResultsCount>
</HistoryBulkResult>
<HistoryBulkResult>
<Url>aabrahaasdasdasdabr.com</Url>
<HistoryType>IyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>true</OnlyDates>
<HistoryItems>
<HistoryItem>
<Date>1999-05-31T11:20:00</Date>
<Value xsi:nil="true"/>
<Yaca xsi:nil="true"/>
</HistoryItem>
<HistoryItem>
<Date>1999-05-31T11:20:00</Date>
<Value xsi:nil="true"/>
<Yaca xsi:nil="true"/>
</HistoryItem>
</HistoryItems>
<ResultsCount>2</ResultsCount>
</HistoryBulkResult>
</ArrayOfHistoryBulkResult>В ответе одноименные параметры с запросом, просто копируются из запроса.
HistoryItems - результаты проверок, где Date - дата проверки, Value - значение, Yaca - наличие в Яндекс каталоге(заполнена в случае проверки тИЦ).
ResultsCount - Кол-во результатов
В случае запроса на получение кол-ва результатов /historybulk/count/siteslibrary запрос абсолютно аналогичен, ответ тоже анологичен за исключением того, что массив HistoryItems будет пустой, а заполнен только ResultsCount.
Историю значений, также можно получить используя функцию /history/siteslibrary, в этом случае посылается Get запрос и данные получаются только для одного домена и одного типа истории.
Перед выполнением можно получить кол-во значений в базе для вычисления стоимости запроса /history/count/siteslibrary.
Запросы для получения кол-ва значений выглядят следующим образом
history/count/siteslibrary/cy/example.com
history/count/siteslibrary/pr/example.com
history/count/siteslibrary/iy/example.comЗапрос для получения истории тИЦ
history/siteslibrary/cy/example.comЯ.Индекс
history/siteslibrary/iy/example.comGoogle PageRank
history/siteslibrary/pr/example.comЗапросы для получения {count} значений выглядят следующим образом
history/siteslibrary/cy/example.com/{count}
history/siteslibrary/pr/example.com/{count}
history/siteslibrary/iy/example.com/{count}В обоих случаях получаем ответ вида
<ArrayOfHistoryItem>
<HistoryItem>
<Date>1999-05-31T11:20:00</Date>
<Value>15</Value>
</HistoryItem>
<HistoryItem>
<Date>1999-05-31T11:20:00</Date>
<Value>22</Value>
</HistoryItem>
</ArrayOfHistoryItem>// Для истории bulk
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// Формируем XML
$post_data = "
<ArrayOfHistoryInit>
<HistoryInit>
<Url>nnsdaasdasdasdm.ru</Url>
<HistoryType>CyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>false</OnlyDates>
<MaxCount xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" />
<DatesVariety>
<Dates>
<dateTime>2011-12-12T00:00:00</dateTime>
<dateTime>2012-01-24T00:00:00</dateTime>
<dateTime>2011-12-26T00:00:00</dateTime>
</Dates>
<DatesThrough>
<DateInterval>
<BeginDate>2011-10-21T00:00:00</BeginDate>
<EndDate>2012-01-03T00:00:00</EndDate>
</DateInterval></DatesThrough>
</DatesVariety>
</HistoryInit>
<HistoryInit>
<Url>aabrahaasdasdasdabr.com</Url>
<HistoryType>IyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>true</OnlyDates>
<MaxCount xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" />
<DatesVariety>
<Dates>
<dateTime>2011-12-26T00:00:00</dateTime>
<dateTime>2006-12-12T00:00:00</dateTime>
</Dates>
<DatesThrough>
<DateInterval>
<BeginDate>2011-10-21T00:00:00</BeginDate>
<EndDate>2012-01-03T00:00:00</EndDate>
</DateInterval>
</DatesThrough>
</DatesVariety>
</HistoryInit>
</ArrayOfHistoryInit>
";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/historybulk/siteslibrary");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_POST, true);
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($post_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
// Посылаем запрос
$wmData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$histXmlData = new SimpleXMLElement($wmData);
// Выводим пришедшие данные
foreach($histXmlData->HistoryBulkResult as $histResult)
{
// Доменное имя
echo $histResult->HistoryType.PHP_EOL;
echo $histResult->Url.PHP_EOL;
foreach($histResult->HistoryItems->HistoryItem as $histItem)
{
echo $histItem->Date.PHP_EOL;
echo $histItem->Value.PHP_EOL;
}
echo PHP_EOL;
}
?>
// Для простой истории (не множественной)
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// Стоимость $ одной проверки
define("oneItemCost", 0.005);
// Инициализируем запрос
// /history/count/siteslibrary/cy/microsoft.com - для тИЦ
// /history/count/siteslibrary/iy/microsoft.com - для Индекс Я
// /history/count/siteslibrary/pr/microsoft.com - для Google PageRank
$ch = curl_init("http://recipdonor.com:998/api/history/count/siteslibrary/cy/microsoft.com?format=json");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Посылаем запрос, принимаем ответ отсекаем utf-8 BOM
$responseData = substr(curl_exec($ch),3);
$historyItemsCount = json_decode($responseData);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Выводим стоимость проверки
echo "The cost of check = $".(oneItemCost * $historyItemsCount);
echo PHP_EOL;
// Инициализируем запрос
$ch = curl_init("http://recipdonor.com:998/api/history/siteslibrary/cy/microsoft.com?format=json");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Посылаем запрос, получаем ответ, отсекаем utf-8 BOM
$historyItems = json_decode(substr(curl_exec($ch),3));
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Выводим результат
foreach($historyItems as $hItem)
{
echo "{$hItem->Date} - {$hItem->Value}".PHP_EOL;
}
/*
The cost of check = $0.095
Sun, 19 Dec 2010 12:50:32 GMT - 23000
Fri, 10 Dec 2010 12:40:59 GMT - 23000
Tue, 30 Nov 2010 12:59:50 GMT - 22000
Mon, 08 Nov 2010 11:41:39 GMT - 22000
.....
*/
Возраст домена можно определеить с помощью функции /age
Пример запроса
http://recipdonor.com:998/api/age/microsoft.com<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// Инициализируем запрос
$ch = curl_init("http://recipdonor.com:998/api/age/microsoft.com");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Посылаем запрос
$regDate = new SimpleXMLElement(curl_exec($ch));
$mirrorItemsCount = (int)$responseData;
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
$date = date_parse($regDate);
echo "{$date['day']}/{$date['month']}/{$date['year']}".PHP_EOL;
Сайты на IP определяются с помощью функции /sitesonip
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// Максимальное кол-во результатов
$count = 10;
// Инициализируем запрос
$ch = curl_init("http://recipdonor.com:998/api/sitesonip/207.46.232.182/".$count);
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Посылаем запрос
$sitesOnIp = new SimpleXMLElement(curl_exec($ch));
$mirrorItemsCount = (int)$responseData;
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
echo $sitesOnIp->CountAll.PHP_EOL;
$i = 0;
foreach($sitesOnIp->Collection->SiteItem as $site)
{
echo ++$i.". {$site->Url} - {$site->SubDomen}".PHP_EOL;
}
Для получения зеркал домена используется функция /mirror
Также можно получить кол-во зеркал с помощью функции /mirror/count.
Примеры запросов
http://recipdonor.com:998/api/mirror/microsoft.com
http://recipdonor.com:998/api/mirror/count/microsoft.com<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// Стоимость $ одной проверки
define("oneItemCost", 0.005);
// Инициализируем запрос
$ch = curl_init("http://recipdonor.com:998/api/mirror/count/microsoft.com");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Посылаем запрос
$responseData = new SimpleXMLElement(curl_exec($ch));
$mirrorItemsCount = (int)$responseData;
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Выводим стоимость проверки
echo "Count = ".$mirrorItemsCount.PHP_EOL;
echo "The cost of check = $".(oneItemCost * $mirrorItemsCount).PHP_EOL;
// Инициализируем запрос
$ch = curl_init("http://recipdonor.com:998/api/mirror/microsoft.com");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Посылаем запрос, получаем ответ, отсекаем utf-8 BOM
$mirrorItems = new SimpleXMLElement(curl_exec($ch));
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Выводим результат
foreach($mirrorItems as $mItem)
{
echo "{$mItem}".PHP_EOL;
}
/*
Count = 29
The cost of check = $0.145
microsft.com
microsoft.net
.....
*/
Проверка Параметров страницы осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>PageValues</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>Whois</Parameter>
<Value xsi:type="WhoisApiData">
<WhoisStartDate>1997-06-18T00:00:00</WhoisStartDate>
<WhoisExpDate>2011-06-17T00:00:00</WhoisExpDate>
<WhoisEmail>de3wa9ue4hy@networksolutionsprivateregistration.com</WhoisEmail>
<WhoisDns>ns65.worldnic.com ns66.worldnic.com</WhoisDns>
<WhoisRegInfo>NETWORK SOLUTIONS, LLC.</WhoisRegInfo>
<Whois>1</Whois>
<IsSubdomen>false</IsSubdomen>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>Whois</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
WhoisStartDate = 1997-06-18T00:00:00
WhoisExpDate = 2011-06-17T00:00:00
WhoisEmail = de3wa9ue4hy@networksolutionsprivateregistration.com
WhoisDns = ns65.worldnic.com ns66.worldnic.com
WhoisRegInfo = NETWORK SOLUTIONS, LLC.
Whois = 1
IsSubdomen = false
*/
Проверка Индекс Я осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IY</TaskVariant>
</Parameters>
<DomainNames>
<string>google.com</string>
<string>msdn.microsoft.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>google.com</DomainName>
<Values><Data>
<Parameter>IY</Parameter>
<Value xsi:type="xsd:int">461000</Value> <!-- значение Индекс Я -->
</Data></Values>
</DomainData>
<DomainData>
<DomainName>msdn.microsoft.com</DomainName>
<Values><Data>
<Parameter>IY</Parameter>
<Value xsi:type="xsd:int">347000</Value> <!-- значение Индекс Я -->
</Data></Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>IY</TaskVariant>
</Parameters>
<DomainNames>
<string>google.com</string>
<string>msdn.microsoft.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
google.com
IY
461000
msdn.microsoft.com
IY
347000
*/
Проверка Анализ IP адреса осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>GeoTool</TaskVariant>
</Parameters>
<DomainNames>
<string>195.18.35.94</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>195.18.35.94</DomainName>
<Values><Data>
<Parameter>GeoTool</Parameter>
<Value xsi:type="GeoApiData">
<City/> <!-- город -->
<Country>Russian Federation</Country> <!-- страна -->
<Isp>ELKATEL ISP</Isp> <!-- провайдер -->
<HostName>altlinux.unsafe.ru</HostName> <!-- имя хоста -->
<Iso2>RU</Iso2> <!-- страна ISO2 -->
<CityRu/> <!-- русское название города -->
<CountryRu>Россия</CountryRu> <!-- русское название страны -->
</Value>
</Data></Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>GeoTool</TaskVariant>
</Parameters>
<DomainNames>
<string>195.18.35.94</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
195.18.35.94
GeoTool
City =
Country = Russian Federation
Isp = ELKATEL ISP
HostName = altlinux.unsafe.ru
Iso2 = RU
CityRu =
CountryRu = Россия
*/
Проверка Google Page Rank осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Pr</TaskVariant>
</Parameters>
<DomainNames>
<string>mozilla.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>mozilla.com</DomainName>
<Values><Data>
<Parameter>Pr</Parameter>
<Value xsi:type="xsd:int">9</Value> <!-- значение Page Rank -->
</Data></Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>Pr</TaskVariant>
</Parameters>
<DomainNames>
<string>mozilla.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
mozilla.com
Pr
9
*/
Проверка индекса старницы в Яндексе осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IYPages</TaskVariant>
</Parameters>
<DomainNames>
<string>www.google.com.ua/intl/en/ads/</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>www.google.com.ua/intl/en/ads/</DomainName>
<Values>
<Data>
<Parameter>IYPages</Parameter>
<Value xsi:type="xsd:int">1</Value> <!-- 1 = страница в индексе, а 0 = нет -->
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>IYPages</TaskVariant>
</Parameters>
<DomainNames>
<string>www.google.com.ua/intl/en/ads/</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/* вывод скрипта
www.google.com.ua/intl/en/ads/
IYPages
1
*/
Получить поддомены можно через API функциию /subdomens
Примеры запросов
http://recipdonor.com:998/api/subdomens/microsoft.com/ - вернет все поддомены
http://recipdonor.com:998/api/subdomens/microsoft.com/10 - вернет первые 10 поддоменов
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// Инициализируем запрос
$ch = curl_init("http://recipdonor.com:998/api/subdomens/microsoft.com/10");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Посылаем запрос
$subdomainsData = new SimpleXMLElement(curl_exec($ch));
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
foreach($subdomainsData->Collection->SiteItem as $subdomen)
{
printf($subdomen->Url.PHP_EOL);
}
printf("Count all : %s".PHP_EOL, $subdomainsData->CountAll);
/* output
support.microsoft.com
msdn.microsoft.com
technet.microsoft.com
search.microsoft.com
office.microsoft.com
...
Count all : 203
*/
Покупает ли сайт seo ссылки опеределяется через API функцию /links/bulk/.
Создаем запрос
<ArrayOfString>
<string>ya.ru</string>
<string>bdbd.ru</string>
</ArrayOfString>Получаем ответ
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfLinksItem>
<LinksItem>
<Url>ya.ru</Url>
<BuyLinks>0</BuyLinks>
</LinksItem>
<LinksItem>
<Url>bdbd.ru</Url>
<BuyLinks>1</BuyLinks>
</LinksItem>
</ArrayOfLinksItem><?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// Формируем XML
$post_data = "
<ArrayOfString>
<string>talks.su</string>
<string>microsoft.com</string>
</ArrayOfString>
";
// Инициализируем запрос
$ch = curl_init("http://www.recipdonor.com:998/api/links/bulk/");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($post_data)));
// Передаем XML данные
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
// Посылаем запрос
$buyLinksData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
printf($buyLinksData);
Проверка Индекс Google осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IG</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>IG</Parameter>
<Value xsi:type="xsd:int">95</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>IG</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
IG
95
*/
Проверка cайты на IP по Bing осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>BingIp</TaskVariant>
</Parameters>
<DomainNames>
<string>127.0.0.1</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>127.0.0.1</DomainName>
<Values>
<Data>
<Parameter>BingIp</Parameter>
<Value xsi:type="xsd:int">0</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>BingIp</TaskVariant>
</Parameters>
<DomainNames>
<string>127.0.0.1</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
127.0.0.1
BingIp
9910
*/
Проверка DMOZ осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Dmoz</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>Dmoz</Parameter>
<Value xsi:type="xsd:int">1</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>Dmoz</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
Dmoz
1
*/
Проверка Я.Бар осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>YaBar</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>YaBar</Parameter>
<Value xsi:type="YabarApiData">
<YaBarCy>160</YaBarCy>
<YaBarMirrow>1</YaBarMirrow>
<YaBarInfo/>
<YaBarRegion/>
<YaBarYaca>0</YaBarYaca>
<YaBarYacaUrl/>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>YaBar</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
YaBar
YaBarCy = 160
YaBarMirrow = 1
YaBarInfo =
YaBarRegion =
YaBarYaca = 0
YaBarYacaUrl =
*/
Проверка тИЦ по Яндекс картинке осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>CyImage</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>CyImage</Parameter>
<Value xsi:type="xsd:int">160</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>CyImage</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
CyImage
160
*/
Проверка Индекс Google стр. осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IGPages</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>IGPages</Parameter>
<Value xsi:type="xsd:int">1</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>IGPages</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
IGPages
1 (проиндексированна)
*/
Проверка WebArchive осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Wa</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>Wa</Parameter>
<Value xsi:type="WebArchApiData">
<Wa>0</Wa>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>Wa</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
Wa
Wa = 0 (нет в WebArchive)
*/
Сайты можно получить из функции /commercials. Перед выполнением можно получить кол-во значений в базе для вычисления стоимости запроса /commercials/count/.
Запрос для получения кол-ва значений (используется для вычисления стоимости основного запроса)
/commercials/count/adsense/pub-xxxxxxxxxxxxxxxx
Для полчения самих значений
/commercials/adsense/pub-xxxxxxxxxxxxxxxx
Получаем ответ вида
<ArrayOfString>
<string>example.com</string>
<string>test.com</string>
</ArrayOfString>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// Стоимость $ одной проверки
define("oneItemCost", 0.005);
// Инициализируем запрос
$ch = curl_init("http://recipdonor.com:998/api/commercials/count/adsense/pub-xxxxxxxxxxxxxxxx?format=json");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Посылаем запрос, принимаем ответ отсекаем utf-8 BOM
$responseData = substr(curl_exec($ch),3);
$adSenseUrlsCount = json_decode($responseData);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Выводим стоимость проверки
echo "The cost of check = $".(oneItemCost * $adSenseUrlsCount);
echo PHP_EOL;
// Инициализируем запрос
$ch = curl_init("http://recipdonor.com:998/api/commercials/adsense/pub-xxxxxxxxxxxxxxxx?format=json");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Посылаем запрос, получаем ответ, отсекаем utf-8 BOM
$adSenseUrls = json_decode(substr(curl_exec($ch),3));
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Выводим результат
foreach($adSenseUrls as $url)
{
echo $url.PHP_EOL;
}
/*
The cost of check = $0.001
example.com
test.com
.....
*/
Проверка Параметры страницы осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>PageValues</TaskVariant>
</Parameters>
<DomainNames>
<string>google.com.ua</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>google.com.ua</DomainName>
<Values><Data>
<Parameter>PageValues</Parameter>
<Value xsi:type="PageValuesApiData">
<Title>Google</Title> <!-- заголовок страницы -->
<LinksIn>13</LinksIn> <!-- входящие ссылки -->
<LinksOut>6</LinksOut> <!-- исходящие ссылки -->
<ComLinks>0</ComLinks> <!-- коммерческие ссылки -->
<PageSize>16</PageSize> <!-- размер страницы -->
<ClearPageSize>9</ClearPageSize> <!-- размер страницы без тегов -->
<ResponseCode>OK</ResponseCode> <!-- HttpStatusCode -->
<Cmses/> <!-- системы управления сайтом -->
<Commercials/> <!-- контекстная реклама -->
<Counters/> <!-- счетчики -->
</Value>
</Data></Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>PageValues</TaskVariant>
</Parameters>
<DomainNames>
<string>google.com.ua</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
google.com.ua
PageValues
Title = Google
LinksIn = 13
LinksOut = 6
ComLinks = 0
Page Size = 16
ClearPageSize = 9
ResponseCode = OK
Cmses =
Commercials =
Counters =
*/
Проверка Alexa осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Alexa</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>Alexa</Parameter>
<Value>19476</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>Alexa</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
Alexa
Alexa = 19476
*/
Проверка Индекс Rambler осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IndexRambler</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>IndexRambler</Parameter>
<Value>14</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>IndexRambler</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
IndexRambler
IndexRambler = 14
*/
Проверка Back Google осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>GoogleBack</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>GoogleBack</Parameter>
<Value>586</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>GoogleBack</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
GoogleBack
GoogleBack = 586
*/
Проверка кол-ва упоминаний домена в Яндексе осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>BY</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>BY</Parameter>
<Value>750000</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>BY</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
BY
BY = 750000
*/
Проверка кол-ва проиндексированный картинок сайта в Яндексе осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>YandexImage</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>YandexImage</Parameter>
<Value>0</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>YandexImage</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
YandexImage
YandexImage = 0
*/
Проверка кол-ва проиндексированный картинок сайта в Google осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>GoogleImage</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>GoogleImage</Parameter>
<Value>80</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>GoogleImage</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
GoogleImage
GoogleImage = 80
*/
Проверка кол-ва проиндексированный страниц сайта в Bing осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>BingIndex</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>BingIndex</Parameter>
<Value>24</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>BingIndex</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
BingIndex
BingIndex = 24
*/
Проверка кол-ва исходящих ссылок с сайта по Bing осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Bing</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>Bing</Parameter>
<Value>2</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>Bing</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
Bing
Bing = 2
*/
Проверка посещаемости через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Counters</TaskVariant>
</Parameters>
<DomainNames>
<Counter>
<SiteId>452325</SiteId>
<CounterType>Top100Rambler</CounterType>
<Url>bookz.ru</Url>
</Counter>
</DomainNames>
</InitSession>
SiteId - ID счетчика на сайте, CounterType - идентификатор счетчика(Liveinternet, YandexMetrica, Top100Rambler, MailRu, HotLog, Spylog, Bigmir, KMindex, Topstat, MyCounter, Log24, YandeG, OpenStat).
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>Bing</Parameter>
<Value xsi:type="CounterApiData">
<Value>58352</Value>
<Access>1</Access>
<CounterType>Top100Rambler</CounterType>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
Value - значение счетчика за вчера или за день. Access - наличие доступа к статистике сайта(1 - Есть доступ, 2 - Нет доступа, 0 - Счетчик не присутствует на сайте).
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>Counters</TaskVariant>
</Parameters>
<DomainNames>
<Counter>
<SiteId>452325</SiteId>
<CounterType>Top100Rambler</CounterType>
<Url>bookz.ru</Url>
</Counter>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
Counters
Value = 2
Access = 1
CounterType = Top100Rambler
*/
Проверка кол-ва упоминаний в Twitter осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Twitter</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>Twitter</Parameter>
<Value>1040</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>Twitter</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
Twitter
Twitter = 1040
*/
Проверка SEMRush рейтинга осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Semrush</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>Semrush</Parameter>
<Value xsi:type="SemrushApiData">
<Value>5852</Value>
<Traffic>7005</Traffic>
<Costs>6262</Costs>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>Semrush</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
Semrush
Value = 1040
Traffic = 7005
Costs = 6262
*/
Проверка валидности страницы осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Validator</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>Validator</Parameter>
<Value xsi:type="ValidatorApiData">
<IsValid>false</IsValid>
<Errors>77</Errors>
<Warnings>3</Warnings>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>Validator</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
Validator
IsValid = false
Errors = 77
Warnings = 3
*/
Проверка кол-ва упоминаний в Я.Блогах осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>YaBlog</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>YaBlog</Parameter>
<Value xsi:type="xsd:int">203</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>YaBlog</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
YaBlog
Value = 203
*/
Проверка кол-ва входящих ссылок на сайт по MajesticSeo.com осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Majestic</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>Majestic</Parameter>
<Value xsi:type="xsd:int">60949</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>Majestic</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
Majestic
Value = 60949
*/
Проверка Индекс Solomono осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Solomono</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>Solomono</Parameter>
<Value xsi:type="SolomonoApiData">
<Value>0</Value>
<LinksIn>374</LinksIn>
<LinksOut>0</LinksOut>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>Solomono</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
Solomono
Value = 0
LinksIn = 374
LinksOut = 0
*/
Проверка авторитетности блога по Я.Блогам осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>RatingBlog</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>RatingBlog</Parameter>
<Value xsi:type="RatingBlogApiData">
<Value>-666</Value>
<Readers>0</Readers>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>RatingBlog</TaskVariant>
</Parameters>
<DomainNames>
<string>test.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
RatingBlog
Value = -666
Readers = 0
*/
Сбор семантического ядра осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>SemanticNew</TaskVariant>
</Parameters>
<DomainNames>
<SemanticData>
<Type>Auto</Type>
<Queries><string>avto</string></Queries>
<MinRate>5</MinRate>
<MaxResults>10</MaxResults>
</SemanticData>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData IsValid="true"><DomainName>avto</DomainName>
<Values>
<Data>
<Parameter>SemanticNew</Parameter>
<Value xsi:type="SemanticApiData">
<Items>
<SemanticApiResult><Query>avto</Query><TotalFound>2255</TotalFound>
<Items>
<SemanticApiItem><Text>avto ru</Text><Frequency>6458</Frequency></SemanticApiItem>
<SemanticApiItem><Text>www avtobazar euro ru</Text><Frequency>1868</Frequency></SemanticApiItem>
<SemanticApiItem><Text>avto ge</Text><Frequency>1554</Frequency></SemanticApiItem>
<SemanticApiItem><Text>avto936 fdnjirjkf wtys</Text><Frequency>1163</Frequency></SemanticApiItem>
<SemanticApiItem><Text>avto ria ua</Text><Frequency>791</Frequency>
</SemanticApiItem><SemanticApiItem><Text>www avto ru</Text><Frequency>779</Frequency></SemanticApiItem>
<SemanticApiItem><Text>avto geo</Text><Frequency>764</Frequency></SemanticApiItem>
<SemanticApiItem><Text>avto64 ru</Text><Frequency>623</Frequency></SemanticApiItem>
<SemanticApiItem><Text>avto</Text><Frequency>509</Frequency></SemanticApiItem>
<SemanticApiItem><Text>avtobomba ru</Text><Frequency>489</Frequency></SemanticApiItem>
</Items>
</SemanticApiResult>
</Items>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>SemanticNew</TaskVariant>
</Parameters>
<DomainNames>
<SemanticData>
<Type>Auto</Type>
<Queries><string>avto</string></Queries>
<MinRate>5</MinRate>
<MaxResults>10</MaxResults>
</SemanticData>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
foreach (get_object_vars($data->Value->Items->SemanticApiResult) as $item => $itemValue){
if($item == "Items"){
foreach($itemValue as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue->Text} - {$paramValue->Frequency}".PHP_EOL;
}
continue;
}
echo $item . " - " . $itemValue.PHP_EOL;
}
}
echo PHP_EOL;
}
/*
avto
SemanticNew
Query - avto
TotalFound - 2255
SemanticApiItem = avto ru - 6458
SemanticApiItem = www avtobazar euro ru - 1868
SemanticApiItem = avto ge - 1554
SemanticApiItem = avto936 fdnjirjkf wtys - 1163
SemanticApiItem = avto ria ua - 791
SemanticApiItem = www avto ru - 779
SemanticApiItem = avto geo - 764
SemanticApiItem = avto64 ru - 623
SemanticApiItem = avto - 509
SemanticApiItem = avtobomba ru - 489
*/
Проверка позиций сайта осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Positions</TaskVariant>
</Parameters>
<DomainNames>
<PositionsData>
<Domain>test.com</Domain>
<MaxResults>10</MaxResults>
</PositionsData>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>Positions</Parameter>
<Value xsi:type="PositionsApiData">
<Items>
<PositionsApiResult>
<Url>test.com/</Url><Request>test</Request><Frequency>5215</Frequency>
<Positions>
<PositionApiItem><Value>1</Value><Region>GoogleMoscow</Region></PositionApiItem>
</Positions>
</PositionsApiResult>
<PositionsApiResult>
<Url>test.com/</Url><Request>title test</Request><Frequency>153</Frequency>
<Positions>
<PositionApiItem><Value>1</Value><Region>GoogleMoscow</Region></PositionApiItem>
</Positions>
</PositionsApiResult>
<PositionsApiResult>
<Url>test.com/</Url><Request>tester com</Request><Frequency>100</Frequency>
<Positions>
<PositionApiItem><Value>6</Value><Region>GoogleMoscow</Region></PositionApiItem>
</Positions>
</PositionsApiResult>
<PositionsApiResult>
<Url>test.com/</Url><Request>test com</Request><Frequency>62</Frequency>
<Positions>
<PositionApiItem><Value>1</Value><Region>GoogleMoscow</Region></PositionApiItem>
</Positions>
</PositionsApiResult>
<PositionsApiResult>
<Url>test.com/</Url><Request>еуые</Request><Frequency>41</Frequency>
<Positions>
<PositionApiItem><Value>1</Value><Region>GoogleMoscow</Region></PositionApiItem>
</Positions>
</PositionsApiResult>
<PositionsApiResult>
<Url>test.com/</Url><Request>1001pp ru контакты</Request><Frequency>33</Frequency>
<Positions>
<PositionApiItem><Value>48</Value><Region>YandexMoscow</Region></PositionApiItem>
</Positions>
</PositionsApiResult>
<PositionsApiResult>
<Url>test.com/</Url><Request>1001pp ru адрес</Request><Frequency>28</Frequency>
<Positions>
<PositionApiItem><Value>41</Value><Region>YandexMoscow</Region></PositionApiItem>
</Positions>
</PositionsApiResult>
</Items>
<TotalFound>7</TotalFound>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>Positions</TaskVariant>
</Parameters>
<DomainNames>
<PositionsData>
<Domain>test.com</Domain>
<MaxResults>10</MaxResults>
</PositionsData>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
foreach (get_object_vars($data->Value->Items) as $item => $itemValue){
if($item == "PositionsApiResult"){
foreach ($itemValue as $value => $valueValue) {
echo $valueValue->Url." - ".$valueValue->Request." - ".$valueValue->Frequency.PHP_EOL;
foreach($valueValue->Positions as $position)
{
echo "{$position->PositionApiItem->Region} = {$position->PositionApiItem->Value}".PHP_EOL;
}
}
continue;
}
echo $item . " - " . $itemValue.PHP_EOL;
}
}
echo PHP_EOL;
}
/*
test.com
Positions
test.com/ - test - 5215
GoogleMoscow = 1
test.com/ - title test - 153
GoogleMoscow = 1
test.com/ - tester com - 100
GoogleMoscow = 6
test.com/ - test com - 62
GoogleMoscow = 1
test.com/ - еуые - 41
GoogleMoscow = 1
test.com/ - 1001pp ru контакты - 33
YandexMoscow = 48
test.com/ - 1001pp ru адрес - 28
YandexMoscow = 41
*/
Получить WebMoney Id для сайтов можно используя API функцию wmidsbysite.
Перед выполнением можно получить кол-во значений в базе для вычисления стоимости запроса wmidsbysite/count.
Получить сайты для WebMoney Id можно используя API функцию sitesbywmid.
Перед выполнением можно получить кол-во значений в базе для вычисления стоимости запроса sitesbywmid/count/bulk.
Пример запроса получения WebMoney Id для сайтов
Параметр "Count" может быть упущен и тогда возвратятся все возможные результаты.
POST /api/wmidsbysite HTTP/1.1
Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=
Content-Type: text/xml; charset=utf-8
Host: recipdonor.com:998
<ArrayOfInitWmId>
<InitWmId>
<Url>test.com</Url>
<MaxCount xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>
</InitWmId>
<InitWmId>
<Url>test2.com</Url>
<MaxCount>1</MaxCount>
</InitWmId>
</ArrayOfInitWmId>Получаем ответ
<ArrayOfUrlWmIdsApiItem>
<UrlWmIdsApiItem>
<Url>test.com</Url>
<WmIds>
<long>111111111111</long>
<long>999999999999</long>
</WmIds>
<ResultsCount>
2
</ResultsCount>
</UrlWmIdsApiItem>
<UrlWmIdsApiItem>
<Url>test2.com</Url>
<WmIds>
<long>222222222222</long>
</WmIds>
<ResultsCount>
1
</ResultsCount>
</UrlWmIdsApiItem>
</ArrayOfUrlWmIdsApiItem><?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// Формируем XML
$post_data = "
<ArrayOfInitWmId>
<InitWmId>
<Url>test.com</Url>
<MaxCount xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>
</InitWmId>
<InitWmId>
<Url>test2.com</Url>
<MaxCount>1</MaxCount>
</InitWmId>
</ArrayOfInitWmId>
";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/wmidsbysite");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_POST, true);
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($post_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
// Посылаем запрос
$wmData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$wmXmlData = new SimpleXMLElement($wmData);
foreach($wmXmlData as $wmItem)
{
echo "{$wmItem->Url} - {$wmItem->WmIds}".PHP_EOL;
}
Проверить занятость доменного имени в других доменных зонах можно используя API функцию domainemployment.
POST /api/domainemployment/test.com HTTP/1.1
Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=
Content-Type: text/xml; charset=utf-8
Host: recipdonor.com:998
Получаем ответ
<ArrayOfString>
<string>test.su</string>
<string>test.org.ua</string>
<string>test.ru</string>
<string>test.dn.ua</string>
<string>test.msk.ru</string>
<string>test.de</string>
</ArrayOfString><?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
$url = "test.com";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/domainemployment/".$url);
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_GET, true);
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8"));
// Передаем данные для инициализации
// Посылаем запрос
$deData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$deXmlData = new SimpleXMLElement($deData);
foreach($deXmlData as $deItem)
{
echo "{$deItem}".PHP_EOL;
}
Проверка Индекс Я раздел осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IYChapter</TaskVariant>
</Parameters>
<DomainNames>
<string>google.com</string>
<string>msdn.microsoft.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>google.com</DomainName>
<Values><Data>
<Parameter>IYChapter</Parameter>
<Value xsi:type="xsd:int">461000</Value> <!-- значение Индекс Я раздел -->
</Data></Values>
</DomainData>
<DomainData>
<DomainName>msdn.microsoft.com</DomainName>
<Values><Data>
<Parameter>IY</Parameter>
<Value xsi:type="xsd:int">347000</Value> <!-- значение Индекс Я раздел -->
</Data></Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>IYChapter</TaskVariant>
</Parameters>
<DomainNames>
<string>google.com</string>
<string>msdn.microsoft.com</string>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value.PHP_EOL;
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}".PHP_EOL;
}
}
echo PHP_EOL;
}
/*
google.com
IY
461000
msdn.microsoft.com
IY
347000
*/
Проверка позиций сайта осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>PositionsCheck</TaskVariant>
</Parameters>
<DomainNames>
<PositionsCheckData>
<Domain>talks.su</Domain>
<Region>YandexMoscow</Region>
<Request>новости украина</Request>
<AllResults>true</AllResults>
<MaxNesting>3</MaxNesting>
</PositionsCheckData>
</DomainNames>
</InitSession>
Domain - анализируемые домен, Region - регион, по которому осуществляется проверка, Request - запрос, AllResults - флаг, отвечающий за показ всех результатов либо только позиции данного домена, MaxNesting - максимальная глубина поиска.
На данный момент доступны следующие регионы - для Яндекса: Москва(YandexMoscow), Киев(YandexKiev), Одесса(YandexOdessa), Донецк(YandexDonetsk), Днепропетровск(YandexDnepr), Харьков(YandexXarkov), Санкт-Петербург(YandexPiter), Екатерингбург(YandexEkaterinburg), Минск(YandexMinsk); для Google - Москва(GoogleMoscow), Киев(GoogleKiev).
Пример ответа сессии
<Domains>
<DomainData>
<DomainName>talks.su</DomainName>
<Values>
<Data>
<Parameter>PositionsCheck</Parameter>
<Value xsi:type="PositionsCheckApiData">
<Domain>talks.su</Domain>
<Region>YandexMoscow</Region>
<Request>новости украина</Request>
<Items>
<PositionsCheckApiItem>
<Position>1</Position>
<Url>newsukraine.com.ua/</Url>
</PositionsCheckApiItem>
<PositionsCheckApiItem>
<Position>2</Position>
<Url>ua.rian.ru/</Url>
</PositionsCheckApiItem>
<PositionsCheckApiItem>
<Position>3</Position>
<Url>ukr.net/index.php</Url>
</PositionsCheckApiItem>
<PositionsCheckApiItem>
<Position>4</Position>
<Url>korrespondent.net/ukraine</Url>
</PositionsCheckApiItem>
<PositionsCheckApiItem>
<Position>5</Position>
<Url>novostiukrainy.ru/</Url>
</PositionsCheckApiItem>
<PositionsCheckApiItem>
<Position>6</Position>
<Url>news.mail.ru/inworld/ukraina/</Url>
</PositionsCheckApiItem>
<PositionsCheckApiItem>
<Position>7</Position>
<Url>for-ua.com/ukraine</Url>
</PositionsCheckApiItem>
<PositionsCheckApiItem>
<Position>8</Position>
<Url>news.qs.kiev.ua/</Url>
</PositionsCheckApiItem>
<PositionsCheckApiItem>
<Position>9</Position>
<Url>news.meta.ua/</Url>
</PositionsCheckApiItem>
<PositionsCheckApiItem>
<Position>10</Position>
<Url>news.online.ua/</Url>
</PositionsCheckApiItem>
...
</Items>
<Positions>
<int>139</int>
</Positions>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data = "
<InitSession>
<Parameters>
<TaskVariant>PositionsCheck</TaskVariant>
</Parameters>
<DomainNames>
<PositionsCheckData>
<Domain>talks.su</Domain>
<Region>YandexMoscow</Region>
<Request>новости украина</Request>
<AllResults>true</AllResults>
<MaxNesting>3</MaxNesting>
</PositionsCheckData>
</DomainNames>
</InitSession>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/session/new");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// При инициализации сессии используется метод PUT
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Указываем необходимые заголовки
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: text/xml; charset=utf-8",
"Content-Length: ".strlen($put_data)));
// Передаем данные для инициализации
curl_setopt($ch, CURLOPT_POSTFIELDS, $put_data);
// Посылаем запрос
$initSessionData = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
curl_close($ch);
// Обрабатываем пришедший ответ
$sesssionXmlData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionXmlData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:998/api/session/get/{$sessionId}");
// Передаем API ключ
curl_setopt($ch, CURLOPT_USERPWD, "{$api_key}:x");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8"));
// Получаем и обрабатываем пришедший ответ
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
curl_close($ch);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus != 'Completed' && $sessionData->SessionStatus != 'Bankrupt');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName.PHP_EOL;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter.PHP_EOL;
echo $data->Value->Region.PHP_EOL;
echo $data->Value->Request.PHP_EOL;
foreach (get_object_vars($data->Value->Items) as $item => $itemValue){
if($item == "PositionsCheckApiItem"){
foreach ($itemValue as $value => $valueValue) {
echo $valueValue->Position." - ".$valueValue->Url.PHP_EOL;
}
continue;
}
echo $item . " - " . $itemValue.PHP_EOL;
}
foreach (get_object_vars($data->Value->Positions) as $item => $itemValue){
echo $itemValue.PHP_EOL;
}
}
echo PHP_EOL;
}
/*
talks.su
PositionsCheck
YandexMoscow
новости украина
1 - newsukraine.com.ua/
2 - ua.rian.ru/
3 - ukr.net/index.php
4 - korrespondent.net/ukraine
5 - novostiukrainy.ru/
6 - news.mail.ru/inworld/ukraina/
7 - for-ua.com/ukraine
8 - news.qs.kiev.ua/
9 - news.meta.ua/
10 - news.online.ua/
...
139 - talks.su/
...
139
*/
API методы:
<int>1</int>1
<ArrayOfString>
<string>example.com</string>
<string>test.com</string>
</ArrayOfString>["example.com","test.com"]
<ArrayOfSapeItem>
<SapeItem>
<Url>example.com</Url>
<Sape>0</Sape>
</SapeItem>
<SapeItem>
<Url>test.com</Url>
<Sape>0</Sape>
</SapeItem>
</ArrayOfSapeItem>[{"Url":"test.com","Sape":0},
{"Url":"example.com","Sape":0}]<InitSession>
<Parameters>
<TaskVariant>Cy</TaskVariant>
<TaskVariant>Cy</TaskVariant>
</Parameters>
<DomainNames>
<string>String content</string>
<string>String content</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>{"DomainNames":["String content"],"Parameters":[0],"Refresh":true}<ApiSessionItemSlimContract>
<Id>1627aea5-8e0a-4371-9022-9b504344e724</Id>
<ExpireAt>Mon, 06 Dec 2010 15:41:33 GMT</ExpireAt>
<Progress>75</Progress>
<SessionStatus>AtChecking</SessionStatus>
</ApiSessionItemSlimContract>{"ExpireAt":""/Date(928138800000+0300)"/","Id":"1627aea5-8e0a-4371-9022-9b504344e724","SessionStatus":null}<ApiSessionItemContract>
<Id>815b62ee-cf23-4a14-962e-fff3062f573b</Id>
<ExpireAt>2010-12-06T15:41:33.0514582+02:00</ExpireAt>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData>
<DomainName>test.com</DomainName>
<Values>
<Data>
<Parameter>Cy</Parameter>
<Value xsi:type="CyApiData">
<Cy>4700</Cy>
<Yaca>0</Yaca>
<YaBarMirrow>1</YaBarMirrow>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>{
"Domains":[{
"DomainName":"test.com",
"Values":[{
"Parameter":"Cy",
"Value":{"Cy":4700,"Yaca":"0","YaBarMirrow":1}
}]}],
"Id":"815b62ee-cf23-4a14-962e-fff3062f573b",
"ExpireAt":"Mon, 06 Dec 2010 15:41:33 GMT",
"SessionStatus":"Completed"}<ArrayOfHistoryItem>
<HistoryItem>
<Date>1999-05-31T11:20:00</Date>
<Value>2147483647</Value>
</HistoryItem>
<HistoryItem>
<Date>1999-05-31T11:20:00</Date>
<Value>2147483647</Value>
</HistoryItem>
</ArrayOfHistoryItem>[{"Date":"\/Date(928138800000+0300)\/",
"Value":2147483647}]<int>50</int>50
<ArrayOfString>
<string>ztest.com</string>
<string>atest.com</string>
</ArrayOfString>["ztest.com", "atest.com"]
<int>5</int>5
<dateTime>1999-05-31T11:20:00</dateTime>"\/Date(928138800000+0300)\/"
<SiteItemCollection>
<Collection>
<SiteItem>
<Url>fff.test.com</Url>
<SubDomen>[PAYSUB]fff[/PAYSUB].test.com</SubDomen>
</SiteItem>
<SiteItem>
<Url>test.com</Url>
<SubDomen>test.com</SubDomen>
</SiteItem>
</Collection>
<CountAll>2</CountAll>
</SiteItemCollection>{"Collection":[
{"Url":"microsoft.com","SubDomen":"microsoft.com"},
{"Url":"microsoft.ru","SubDomen":"microsoft.ru"}],
"CountAll" : 2}<SiteItemCollection>
<Collection>
<SiteItem>
<Url>fff.test.com</Url>
<SubDomen>[PAYSUB]fff[/PAYSUB].test.com</SubDomen>
</SiteItem>
<SiteItem>
<Url>test.com</Url>
<SubDomen>test.com</SubDomen>
</SiteItem>
</Collection>
<CountAll>2</CountAll>
</SiteItemCollection>{"Collection":[
{"Url":"microsoft.com","SubDomen":"microsoft.com"},
{"Url":"microsoft.ru","SubDomen":"microsoft.ru"}],
"CountAll" : 2}<WhoisItem>
<WhoisStartDate>1999-05-31T11:20:00</WhoisStartDate>
<WhoisExpDate>1999-05-31T11:20:00</WhoisExpDate>
<WhoisEmail>test@test.com</WhoisEmail>
<WhoisDns>dns</WhoisDns>
<WhoisInfo>info</WhoisInfo>
<WhoisPhone>phone</WhoisPhone>
<WhoisRegInfo>reg info</WhoisRegInfo>
</WhoisItem>{"WhoisDns":"String content",
"WhoisEmail":"String content",
"WhoisExpDate":"\/Date(928138800000+0300)\/",
"WhoisInfo":"String content",
"WhoisPhone":"String content",
"WhoisRegInfo":"String content",
"WhoisStartDate":"\/Date(928138800000+0300)\/"}<ArrayOfString>
<string>example.com</string>
<string>test.com</string>
</ArrayOfString>["test.com"]
<ArrayOfLinksItem>
<LinksItem>
<Url>example.com</Url>
<BuyLinks>0</BuyLinks>
</LinksItem>
<LinksItem>
<Url>test.com</Url>
<BuyLinks>1</BuyLinks>
</LinksItem>
</ArrayOfLinksItem>[{"BuyLinks":0,"Url":"test.com"}]<ArrayOfString>
<string>255.127.64.1</string>
<string>255.127.64.2</string>
</ArrayOfString>["255.127.64.1"]
<ArrayOfIpCountItem>
<IpCountItem>
<Address>255.127.64.1</Address>
<Count>551</Count>
</IpCountItem>
<IpCountItem>
<Address>255.127.64.2</Address>
<Count>531</Count>
</IpCountItem>
</ArrayOfIpCountItem>[{"Count":551,"Address":"255.127.64.1"}]<UserData>
<RdsAccountBalance>12678967.54</RdsAccountBalance>
<RdsEmail>tester@test.com</RdsEmail>
</UserData>{"RdsAccountBalance":12678967.54,"RdsEmail":"tester@test.com"}<ArrayOfString>
<string>example.com</string>
<string>test.com</string>
</ArrayOfString>["test.com","example.com"]
<int>5</int>5
<InitPositionsData>
<Url>test.com</Url>
</InitPositionsData><ArrayOfPositionsCountItem>
<PositionsCountItem>
<SearchEngine>Google</SearchEngine>
<Count>7</Count>
</PositionsCountItem>
<PositionsCountItem><SearchEngine>Yandex</SearchEngine><Count>2</Count>
</PositionsCountItem>
</ArrayOfPositionsCountItem>{
arrayofpositionscountitem:{
positionscountitem:[
{
searchengine:'Google',
count:7
},
{
searchengine:'Yandex',
count:2
}
]
}
}<ArrayOfInitWmId>
<InitWmId>
<Url>test.com</Url>
<MaxCount xsi:nil="true" />
</InitWmId>
<InitWmId>
<Url>test2.com</Url>
<MaxCount>1</MaxCount>
</InitWmId>
</ArrayOfInitWmId>
[{"Url":"test.com","MaxCount" : "2"}]<ArrayOfUrlWmIdsApiItem>
<UrlWmIdsApiItem>
<Url>test.com</Url>
<WmIds>
<long>111111111111</long>
<long>999999999999</long>
</WmIds>
<ResultsCount>2</ResultsCount>
</UrlWmIdsApiItem>
<UrlWmIdsApiItem>
<Url>test2.com</Url>
<WmIds>
<long>222222222222</long>
</WmIds>
<ResultsCount>1</ResultsCount>
</UrlWmIdsApiItem>
</ArrayOfUrlWmIdsApiItem>[{"Url":"test.com","WmIds":[111111111111,999999999999]},{"Url":"test2.com","WmIds":[222222222222]}]<ArrayOfString>
<string>test.com</string>
<string>test2.com</string>
</ArrayOfString>
["test.com", "test2.com"]
<ArrayOfUrlWmIdsApiItem><UrlWmIdsApiItem><Url>test.com</Url><ResultsCount>1</ResultsCount></UrlWmIdsApiItem><UrlWmIdsApiItem><Url>test2.com</Url><ResultsCount>0</ResultsCount></UrlWmIdsApiItem></ArrayOfUrlWmIdsApiItem>[{"Url":"test.com", "ResultsCount":"1"},{"Url":"test2.com", "ResultsCount":"0"}]<ArrayOfInitWmId>
<InitWmId>
<Url>999999999999</Url>
<MaxCount xsi:nil="true" />
</InitWmId>
<InitWmId>
<Url>111111111111</Url>
<MaxCount>1</MaxCount>
</InitWmId>
</ArrayOfInitWmId>
[{"Url":"999999999999",MaxCount" : "2"}]<ArrayOfWmIdUrlsApiItem>
<WmIdUrlsApiItem>
<WmId>111111111111</WmId>
<Urls>
<string>test.com</string>
</Urls>
<ResultsCount>1</ResultsCount>
</WmIdUrlsApiItem>
<WmIdUrlsApiItem>
<WmId>222222222222</WmId>
<Urls>
<string>test2.com</string>
<string>test3.com</string>
</Urls>
<ResultsCount>2</ResultsCount>
</WmIdUrlsApiItem>
</ArrayOfWmIdUrlsApiItem>[{"WmId":111111111111,"Urls":["test.com"], "ResultsCount":"1"},{"WmId":222222222222,"Urls":["test2.com","test3.com"],"ResultsCount":"2"}]<ArrayOfLong>
<long>0</long>
<long>4</long>
</ArrayOfLong>
["111111111111", "222222222222"]
<WmIdUrlsApiItem>
<WmId>0</WmId>
<ResultsCount>11
</ResultsCount>
</WmIdUrlsApiItem>
<WmIdUrlsApiItem>
<WmId>4</WmId>
<ResultsCount>0
</ResultsCount>
</WmIdUrlsApiItem>
</ArrayOfWmIdUrlsApiItem>[{"WmId":"0", "ResultsCount":"11"},{"WmId":"4", "ResultsCount":"0"}]<ArrayOfHistoryInit>
<HistoryInit>
<Url>nnsdaasdasdasdm.ru</Url>
<HistoryType>CyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>false</OnlyDates>
<MaxCount xsi:nil="true" />
<DatesVariety>
<Dates>
<dateTime>2011-12-12T00:00:00</dateTime>
<dateTime>2012-01-24T00:00:00</dateTime>
<dateTime>2011-12-26T00:00:00</dateTime>
</Dates>
<DatesThrough>
<DateInterval>
<BeginDate>2011-10-21T00:00:00</BeginDate>
<EndDate>2012-01-03T00:00:00</EndDate>
</DateInterval></DatesThrough>
</DatesVariety>
</HistoryInit>
<HistoryInit>
<Url>aabrahaasdasdasdabr.com</Url>
<HistoryType>IyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>true</OnlyDates>
<MaxCount xsi:nil="true" />
<DatesVariety>
<Dates>
<dateTime>2011-12-26T00:00:00</dateTime>
<dateTime>2006-12-12T00:00:00</dateTime>
</Dates>
<DatesThrough>
<DateInterval>
<BeginDate>2011-10-21T00:00:00</BeginDate>
<EndDate>2012-01-03T00:00:00</EndDate>
</DateInterval>
</DatesThrough>
</DatesVariety>
</HistoryInit>
</ArrayOfHistoryInit>
[{"DatesVariety":{"Dates":["\/Date(928138800000+0300)\/"],"DatesThrough":[{"BeginDate":"\/Date(928138800000+0300)\/","EndDate":"\/Date(928138800000+0300)\/"}]},"HistoryType":63,"MaxCount":2147483647,"OnlyDates":false,"OnlyDifferent":true,"Url":"asdasdasd.com"}]<ArrayOfHistoryBulkResult>
<HistoryBulkResult><Url>nnsdaasdasdasdm.ru</Url>
<HistoryType>IyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>false</OnlyDates>
<HistoryItems>
<HistoryItem>
<Date>1999-05-31T11:20:00</Date>
<Value>2147483647</Value>
</HistoryItem>
<HistoryItem>
<Date>1999-05-31T11:20:00</Date>
<Value>2147483647</Value>
</HistoryItem>
</HistoryItems>
<ResultsCount>2</ResultsCount>
</HistoryBulkResult>
<HistoryBulkResult>
<Url>aabrahaasdasdasdabr.com</Url>
<HistoryType>CyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>true</OnlyDates>
<HistoryItems>
<HistoryItem>
<Date>1999-05-31T11:20:00</Date>
<Value xsi:nil="true"/>
<Yaca xsi:nil="true"/>
</HistoryItem>
<HistoryItem>
<Date>1999-05-31T11:20:00</Date>
<Value xsi:nil="true"/>
<Yaca xsi:nil="true"/>
</HistoryItem>
</HistoryItems>
<ResultsCount>2</ResultsCount>
</HistoryBulkResult>
</ArrayOfHistoryBulkResult>[{"HistoryItems":[{"Date":"\/Date(928138800000+0300)\/","Value":2147483647,"Yac":true}],"HistoryType":63,"OnlyDates":false,"OnlyDifferent":true,"ResultsCount":1,"Url":"asdasdasd.com"}]<ArrayOfHistoryInit>
<HistoryInit>
<Url>nnsdaasdasdasdm.ru</Url>
<HistoryType>CyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<MaxCount xsi:nil="true" />
<DatesVariety>
<Dates>
<dateTime>2011-12-12T00:00:00</dateTime>
<dateTime>2012-01-24T00:00:00</dateTime>
<dateTime>2011-12-26T00:00:00</dateTime>
</Dates>
<DatesThrough>
<DateInterval>
<BeginDate>2011-10-21T00:00:00</BeginDate>
<EndDate>2012-01-03T00:00:00</EndDate>
</DateInterval></DatesThrough>
</DatesVariety>
</HistoryInit>
<HistoryInit>
<Url>aabrahaasdasdasdabr.com</Url>
<HistoryType>IyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<MaxCount xsi:nil="true" />
<DatesVariety>
<Dates>
<dateTime>2011-12-26T00:00:00</dateTime>
<dateTime>2006-12-12T00:00:00</dateTime>
</Dates>
<DatesThrough>
<DateInterval>
<BeginDate>2011-10-21T00:00:00</BeginDate>
<EndDate>2012-01-03T00:00:00</EndDate>
</DateInterval>
</DatesThrough>
</DatesVariety>
</HistoryInit>
</ArrayOfHistoryInit>
[{"DatesVariety":{"Dates":["\/Date(928138800000+0300)\/"],"DatesThrough":[{"BeginDate":"\/Date(928138800000+0300)\/","EndDate":"\/Date(928138800000+0300)\/"}]},"HistoryType":63,"MaxCount":2147483647,"OnlyDates":false,"OnlyDifferent":true,"Url":"asdasdasd.com"}]<ArrayOfHistoryBulkResult>
<HistoryBulkResult><Url>nnsdaasdasdasdm.ru</Url>
<HistoryType>IyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>false</OnlyDates>
<ResultsCount>2</ResultsCount>
</HistoryBulkResult>
<HistoryBulkResult>
<Url>aabrahaasdasdasdabr.com</Url>
<HistoryType>CyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>true</OnlyDates>
<ResultsCount>2</ResultsCount>
</HistoryBulkResult>
</ArrayOfHistoryBulkResult>[{"HistoryType":63,"OnlyDates":false,"OnlyDifferent":true,"ResultsCount":1,"Url":"asdasdasd.com"}]<ArrayOfString>
<string>test.su/string>
<string>test.org.ua</string>
</ArrayOfString>["test.su", "test.org.ua"]