Мы завершили развитие RDS Bar версии 6, первой общей версии расширения для всех браузеров. Это был достаточно сложный и не стабильный этап развития,...
Работа с 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://62.149.1.74:977/api/ для задач по сессиям и http://www.recipdonor.com:998/api/ для bulk.
Обращаться необходимо на 977-й, 998-й.
Все строковые данные при работе с интерфейсом указываются и возвращаются в кодировке UTF-8.
Максимальный размер запроса к сервису равен 65 килобайт.
Для большинства параметров можно значительно увеличить скорость проверки, если в одной сессии проверять не по 1 му, а по 100-200 сайтов/страниц.
Если у вас возникли вопросы по работе с API, пишите на адрес support@recipdonor.com
Приглашаем к сотрудничеству компании и проекты, работающие на рынке поисковой оптимизации. И надеемся, что будем друг другу полезны. Для таких разработчиков, использующих наше API в своих продуктах, кроме получения партнерского вознаграждения от привлеченных пользователей, также предусмотрена отдельная программа бонусов от потраченной ими суммы.
Если вам необходимы какие-то дополнительные параметры или в 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:977
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:977
Если вы используете нашу клиентскую библиотеку то достаточно добавить в фаил 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:977
Content-Length: 312
<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>
<Refresh>true</Refresh>
</InitSession>
Для случая запроса в JSON формате:
PUT /api/session/new HTTP/1.1
Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=
Content-Type: application/json; charset=utf-8
Host: recipdonor.com:977
Content-Length: 312
{
"Parameters": [
"Cy"
],
"DomainNames": [
"mozilla.com",
"mozilla.ru",
"google.com",
"msdn.microsoft.com"
]
}
HTTP заголовок Authorization описан в разделе Авторизация
Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong=
Справочные данные по методу /session/new
После выполнения запроса мы получим ответ,
<ApiSessionItemSlimContract>
<Id>f1218977-7a63-43eb-8e5c-a272ffb3886e</Id>
<ExpireAt>2014-12-18T20:24:50.8100568+02:00</ExpireAt>
<Progress>0</Progress>
<SessionStatus>ToCheck</SessionStatus>
</ApiSessionItemSlimContract>
Для случая запроса в JSON формате:
{
"Id":"2044f516-1095-4a98-9bfa-84e48851597b",
"ExpireAt":"2015-01-27T17:10:23.1201276+02:00",
"Progress":0,
"SessionStatus":"AtChecking"
}
что говорит об успешном создании сессии проверки
Id - уникальный идентификатор сессии ExpireAt - сессия будет уничтожена в указанное время SessionStatus - Статус ToCheck говорит нам о том, что сессия поставлена на проверку
Системе на проверку параметра тИЦ может уйти некоторое время, ответ вы можете получить не сразу.
Для получения результатов проверки необходимо использовать метод /session/get
Формируем запрос
GET http://recipdonor.com:977/api/session/get/f1218977-7a63-43eb-8e5c-a272ffb3886e HTTP/1.1 Authorization: Basic RjkxNjhDNUUtQ0VCMi00ZmFhLUI2QkYtMzI5QkYzOUZBMUU0Ong= Content-Type: text/xml; charset=utf-8 Host: recipdonor.com:977
Получаем ответ вида
<ApiSessionItemContract>
<Id>f1218977-7a63-43eb-8e5c-a272ffb3886e</Id>
<ExpireAt>2014-12-18T20:24:52.9004605+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>mozilla.com</DomainName>
<Values>
<Data>
<Parameter>Cy</Parameter>
<Value xsi:type="CyApiData">
<Cy>12000</Cy>
<Yaca>0</Yaca>
<YaBarMirrow>0</YaBarMirrow>
</Value>
</Data>
</Values>
</DomainData>
<DomainData IsValid="true">
<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 IsValid="true">
<DomainName>google.com</DomainName>
<Values>
<Data>
<Parameter>Cy</Parameter>
<Value xsi:type="CyApiData">
<Cy>190000</Cy>
<Yaca>Hi-Tech/Интернет/Поисковые системы</Yaca>
<YaBarMirrow>1</YaBarMirrow>
</Value>
</Data>
</Values>
</DomainData>
<DomainData IsValid="true">
<DomainName>msdn.microsoft.com</DomainName>
<Values>
<Data>
<Parameter>Cy</Parameter>
<Value xsi:type="CyApiData">
<Cy>6400</Cy>
<Yaca>Hi-Tech/Программы/Операционные системы/Windows</Yaca>
<YaBarMirrow>0</YaBarMirrow>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
Для случая запроса в JSON формате:
{
"Domains":[
{
"IsValid":true,
"DomainName":"mozilla.com",
"Values":[
{
"Parameter":"Cy",
"Value":{
"Cy":12000,
"Yaca":"0",
"YaBarMirrow":0
},
"Errors":null
}
]
},
{
"IsValid":true,
"DomainName":"mozilla.ru",
"Values":[
{
"Parameter":"Cy",
"Value":{
"Cy":-666,
"Yaca":"0",
"YaBarMirrow":0
},
"Errors":null
}
]
},
{
"IsValid":true,
"DomainName":"google.com",
"Values":[
{
"Parameter":"Cy",
"Value":{
"Cy":190000,
"Yaca":"Hi-Tech/Интернет/Поисковые системы",
"YaBarMirrow":1
},
"Errors":null
}
]
},
{
"IsValid":true,
"DomainName":"msdn.microsoft.com",
"Values":[
{
"Parameter":"Cy",
"Value":{
"Cy":6600,
"Yaca":"Hi-Tech/Программы/Операционные системы/Windows",
"YaBarMirrow":0
},
"Errors":null
}
]
}
],
"Id":"2044f516-1095-4a98-9bfa-84e48851597b",
"ExpireAt":"2015-01-27T17:10:50.700976+02:00",
"Progress":100,
"SessionStatus":"Completed"
}
Наибольший интерес для нас представляют данные из тегов <Value xsi:type="CyApiData">
Cy - значение тИЦ (-666 = склеен, -40 = АГС) Yaca - Я.Каталог ( 0 = не присутствует в Я.Каталог) YaBarMirrow - зеркало
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<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>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Множественное получение истории проверок (также присутствует возможность использовать параметры фильтров) возможно используя функцию /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":"aif.ru",
"HistoryType":"PrHistory",
"OnlyDifferent":true,
"OnlyDates":false,
"DatesVariety":{
"Dates":[
"2015-01-16T10:58:00",
"2013-11-08T15:18:00",
"2012-02-08T09:53:00"
]
}
}
]
Как видно из примера имеется возможность задать различные параметры отдельно для каждой из выборок.
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>
[
{
"Url":"aif.ru",
"HistoryType":"PrHistory",
"OnlyDifferent":false,
"OnlyDates":false,
"HistoryItems":[
{
"Date":"2015-01-16T10:58:00",
"Value":7,
"Yac":null
},
{
"Date":"2013-11-08T15:18:00",
"Value":3,
"Yac":null
},
{
"Date":"2012-02-08T09:53:00",
"Value":0,
"Yac":null
}
],
"ResultsCount":3,
"State":"None"
}
]
В ответе одноименные параметры с запросом, просто копируются из запроса.
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.com
Google 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
.....
*/
Проверка Я.Бар осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>YaBar</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>f2e19584-62f2-42aa-b1c3-ca2549278b78</Id>
<ExpireAt>2014-12-15T14:51:01.8876874+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>YaBar</Parameter>
<Value xsi:type="YabarApiData">
<YaBarCy>70</YaBarCy>
<YaBarMirrow>1</YaBarMirrow>
<YaBarYaca>0</YaBarYaca>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>YaBar</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Проверка тИЦ по Яндекс картинке осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>CyImage</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>6d8642d3-bc1d-4c11-a47d-68c899bc4b9e</Id>
<ExpireAt>2014-12-11T14:46:43.1044584+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>CyImage</Parameter>
<Value xsi:type="xsd:int">70</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>CyImage</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка Индекс Я осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IY</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>25552150-a363-4500-94dc-2cd3db4e1828</Id>
<ExpireAt>2014-12-11T15:44:59.9502335+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>IY</Parameter>
<Value xsi:type="xsd:int">405</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>IY</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Дата последней публикации (обновления) сайта из сниппета Яндекса.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IyDate</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>40a01c8e-22d7-4286-9afa-02c27b5bed15</Id>
<ExpireAt>2014-12-11T17:26:29.6097633+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>IyDate</Parameter>
<Value xsi:type="IyDateApiData">
<Date>2014-12-02T02:30:40</Date>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>IyDate</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value->Date."<br/>";
}
echo "<br/>";
}
Проверка Индекс Я раздел осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IYChapter</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>1eb39fed-e3a8-4b5d-a202-1902f54c25d4</Id>
<ExpireAt>2014-12-15T14:31:39.5177556+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>IYChapter</Parameter>
<Value xsi:type="xsd:int">403</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>IYChapter</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка индекса старницы в Яндексе осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IYPages</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>f4555cb7-595a-4d60-9c14-855b6ef7aca8</Id>
<ExpireAt>2014-12-11T17:39:36.3269782+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>IYPagesExt</Parameter>
<Value xsi:type="IypApiData">
<Sign>879b2c828aac2deb01e0331a33fc7274</Sign>
<CacheDate xsi:nil="true" />
<Value>1</Value>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>IYPages</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Дата последней публикации (обновления) страницы из сниппета Яндекса осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IyPagesDate</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>2dafa666-7a40-4868-afc6-2cc92dc424a5</Id>
<ExpireAt>2014-12-15T14:37:14.1939766+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>IyPagesDate</Parameter>
<Value xsi:type="IyDateApiData">
<Date>2009-09-04T17:55:22</Date>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>CheckDangerous</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка даты последней индексации страницы Яндекса осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IYPageCache</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>d5ecb934-58b4-43ff-8a19-53f3ce58d947</Id>
<ExpireAt>2014-12-11T17:32:09.9243611+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>IYPageCache</Parameter>
<Value xsi:type="IYPageCacheApiData">
<CacheUrl>
http://hghltd.yandex.net/yandbtm?lang=ru&fmode=inject&tld=ru&la=&text=...
</CacheUrl>
<CacheDate>2014-12-03T06:21:14</CacheDate>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>IYPageCache</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Проверка наличия ссылки в кэше Я осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IYCacheLink</TaskVariant>
</Parameters>
<DomainNames>
<IYCacheLinkPage>
<Url>recipdonor.com/</Url>
<RecipSiteUrl>http://recipdonor.com/</RecipSiteUrl>
</IYCacheLinkPage>
</DomainNames>
<Refresh>false</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>9a557f13-8d0a-4da9-9633-d78c68a603c1</Id>
<ExpireAt>2014-12-21T23:07:46.7129683+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com/</DomainName>
<Values>
<Data>
<Parameter>IYCacheLink</Parameter>
<Value xsi:type="IYCacheLinkApiData">
<RecipientLinks />
<CacheUrl>
http://hghltd.yandex.net/yandbtm?lang=ru&fmode=inject&tld=ru&la=&text=...
</CacheUrl>
<CacheDate>2014-12-07T07:31:02</CacheDate>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>IYCacheLink</TaskVariant>
</Parameters>
<DomainNames>
<IYCacheLinkPage>
<Url>recipdonor.com/</Url>
<RecipSiteUrl>http://recipdonor.com/</RecipSiteUrl>
</IYCacheLinkPage>
</DomainNames>
<Refresh>false</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Проверка кол-ва упоминаний домена в Яндексе осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>BY</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>57c7aed4-c7c3-4f7b-a39a-10327eb32ef9</Id>
<ExpireAt>2014-12-09T18:51:39.4877499+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>BY</Parameter>
<Value xsi:type="xsd:int">3000</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>BY</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка кол-ва проиндексированных картинок сайта в Яндексе осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>YandexImage</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>ec3fc9f5-373b-4ecd-a489-e18810876d67</Id>
<ExpireAt>2014-12-15T14:41:19.9480146+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>YandexImage</Parameter>
<Value xsi:type="xsd:int">29</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>YandexImage</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Для получения зеркал домена используется функция /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
.....
*/
Проверка частоты по Wordstat осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>WordStat</TaskVariant>
</Parameters>
<DomainNames>
<WordStatData>
<SearchText>kupon</SearchText>
<Region>213</Region>
</WordStatData>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Region может принимать числовое значение из списка, к примеру 213 = Москва.
Ключевая фраза SearchText не может содержать более 7 слов и может включать только символы английского, турецкого, казахского, русского и украинского алфавитов в ключевых фразах, кавычки, скобки, симоволы "-", "+", "!" и пробелы.
Пример ответа сессии
<ApiSessionItemContract>
<Id>bd12743d-cc1b-418e-a749-fbc839ddcd60</Id>
<ExpireAt>2014-12-18T17:29:10.5112391+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>kupon</DomainName>
<Values>
<Data>
<Parameter>WordStat</Parameter>
<Value xsi:type="xsd:int">538</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>WordStat</TaskVariant>
</Parameters>
<DomainNames>
<WordStatData>
<SearchText>kupon</SearchText>
<Region>213</Region>
</WordStatData>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка Позиций Я осуществляется через сессии.
Используются методы /session/new и /session/get.
По умолчанию проверка идет до 50 позиции в выдаче Яндекса. Для проверки с большей глубиной необходимо указать параметр MaxCheckPosition. Максимальное значение этого параметра
С помощью этого параметра можно получить:
- все результаты поисковой выдачи Яндекса до указанной глубины сканирования. Для этого нужно использовать контракт PositionYandexTask.
- позицию сайта в выдаче Яндекса. Для этого нужно использовать контракт PositionYandexUrlTask. У этого контракта есть 2 дополнительных параметра: Url (страница/домен) для проверки и CheckType (Domain, Page). Если в CheckType указан параметр Domain, проверка вернет позицию первой найденной страницы сайта по запросу. Если в CheckType указан параметр Page, проверка вернет позицию конкретной страницы сайта по запросу.
Регион указывается числом из списка.
XML для инициализации сессии (пример контракта PositionYandexUrlTask)
<InitSession>
<Parameters>
<TaskVariant>PositionYandex</TaskVariant>
</Parameters>
<DomainNames>
<PositionYandexUrlTask>
<MaxCheckPosition>50</MaxCheckPosition>
<Region>213</Region>
<Query>новости</Query>
<Id>1</Id>
<Url>news.yandex.ru</Url>
<CheckType>Domain</CheckType>
</PositionYandexUrlTask>
</DomainNames>
<Refresh>false</Refresh>
</InitSession>
Пример ответа сессии (пример контракта PositionYandexUrlTask для XML)
<ApiSessionItemContract>
<Id>89a69c93-19a7-4360-9c42-21b52ef15dd5</Id>
<ExpireAt>2015-01-06T12:35:47.091413+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>1</DomainName>
<Values>
<Data>
<Parameter>PositionYandex</Parameter>
<Value xsi:type="PositionYandexResult">
<CountResult>1603000000</CountResult>
<Positions>
<PositionYandexData>
<Url>http://news.yandex.ru/</Url>
<Position>1</Position>
<Snippet>Новости России и мира из центральных, региональных, зарубежных
и специализированных источников. Поиск информации по базе СМИ. Пресс-портреты персоналий и организаций.
Онлайн-подписка на новости.</Snippet>
<Title>Яндекс.Новости: Главные новости</Title>
</PositionYandexData>
</Positions>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
JSON для инициализации сессии (пример контракта PositionYandexTask)
{
"Parameters": [
"PositionYandex"
],
"DomainNames": [{
"$type": "PositionYandexTask",
"Id":1,
"MaxCheckPosition":5,
"Query":"каталог запчастей",
"Region":213
}]
}
Пример ответа сессии (пример контракта PositionYandexTask для JSON)
{
"Domains":[
{
"IsValid":true,
"DomainName":"1",
"Values":[
{
"Parameter":"PositionYandex",
"Value":{
"CountResult":40000000,
"Positions":[
{
"Url":"http://www.exist.ru/",
"Position":1,
"Snippet":"Оригинальные каталоги. Общий каталог. Запчасти для ТО. Мотокаталоги ....",
"Title":"Автозапчасти, запчасти для иномарок, каталог автозапчастей для авто..."
},
{
"Url":"http://www.epcdata.ru/",
"Position":2,
"Snippet":"Онлайн- каталоги запчастей к японским и не только автомобилям. Для поиска ...",
"Title":"Онлайн- каталоги запчастей к японским и не только автомобилям"
},
{
"Url":"http://www.a-inside.ru/catalogs/",
"Position":3,
"Snippet":"Каталоги запчастей. Веб-сервис. Поставщикам.",
"Title":"Каталоги производителей запчастей, каталог оригинальных запчастей"
},
{
"Url":"http://www.mdetali.ru/catalog",
"Position":4,
"Snippet":"Поиск деталей: Расширенный каталог запчастей.",
"Title":"Электронный каталог запчастей онлайн"
},
{
"Url":"http://intertruck.ru/catalog/",
"Position":5,
"Snippet":"В данном каталоге запчастей вы сможете найти автомобили и запчасти к ним. Также ...",
"Title":"Каталога запчастей для грузовиков"
}
]
},
"Errors":null
}
]
}
],
"Id":"02f5b5f9-a382-40c5-9d87-7c9024c5e21d",
"ExpireAt":"2015-01-06T16:42:25.4808325+02:00",
"Progress":100,
"SessionStatus":"Completed"
}
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>PositionYandex</TaskVariant>
</Parameters>
<DomainNames>
<PositionYandexUrlTask>
<MaxCheckPosition>50</MaxCheckPosition>
<Region>213</Region>
<Query>новости</Query>
<Id>1</Id>
<Url>news.yandex.ru</Url>
<CheckType>Domain</CheckType>
</PositionYandexUrlTask>
</DomainNames>
<Refresh>false</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach($data->Value as $value)
{
echo "CountResult = $value->CountResult"."<br/>";
echo "Positions ="."<br/>";
foreach($value->Positions->PositionYandexData as $positionData)
{
echo "PositionData = "."<br/>";
echo "Url = $positionData->Url"."<br/>";
echo "Position = $positionData->Position"."<br/>";
echo "Snippet = $positionData->Snippet"."<br/>";
echo "Title = $positionData->Title"."<br/>";
}
}
}
echo "<br/>";
}
Проверка Индекс Google осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IG</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>3c063368-f779-4181-9f28-0f0d9c91f5a7</Id>
<ExpireAt>2014-12-11T15:23:12.263905+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>IG</Parameter>
<Value xsi:type="xsd:int">2250</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>IG</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка Основной Индекс Google осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>MainIndexGoogle</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>20dc0174-4be4-468d-a4fc-1b43ed6311bf</Id>
<ExpireAt>2014-12-11T17:51:17.9876451+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>MainIndexGoogle</Parameter>
<Value xsi:type="xsd:int">233</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>MainIndexGoogle</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка Индекс Google стр. осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IGPages</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com/help/api</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>ecb23e07-ec6d-4a1c-9c01-952b1464151a</Id>
<ExpireAt>2014-12-11T15:39:13.9287844+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com/help/api</DomainName>
<Values>
<Data>
<Parameter>IGPages</Parameter>
<Value xsi:type="xsd:int">1</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>IGPages</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com/help/api</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка Кэш G стр. осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IGPageCache</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>d08306bb-f023-4022-8fbe-051b7406106a</Id>
<ExpireAt>2014-12-21T22:47:50.0574273+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>IGPageCache</Parameter>
<Value xsi:type="IGPageCacheApiData">
<CacheUrl>
http://webcache.googleusercontent.com/search?q=cache:www.recipdonor.com%2f
</CacheUrl>
<CacheDate>2014-12-21T02:41:55+02:00</CacheDate>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>IGPageCache</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Проверка наличия ссылки в кэше G осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>IGCacheLink</TaskVariant>
</Parameters>
<DomainNames>
<IGCacheLinkPage>
<Url>recipdonor.com/</Url>
<RecipSiteUrl>http://recipdonor.com/</RecipSiteUrl>
</IGCacheLinkPage>
</DomainNames>
<Refresh>false</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>37af062d-e3bc-4be8-8732-0e992c404442</Id>
<ExpireAt>2014-12-21T23:15:37.2464269+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com/</DomainName>
<Values>
<Data>
<Parameter>IGCacheLink</Parameter>
<Value xsi:type="IGCacheLinkApiData">
<RecipientLinks />
<CacheUrl>
http://webcache.googleusercontent.com/search?q=cache:www.recipdonor.com%2f
</CacheUrl>
<CacheDate>2014-12-21T02:41:55+02:00</CacheDate>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>IGCacheLink</TaskVariant>
</Parameters>
<DomainNames>
<IGCacheLinkPage>
<Url>recipdonor.com/</Url>
<RecipSiteUrl>http://recipdonor.com/</RecipSiteUrl>
</IGCacheLinkPage>
</DomainNames>
<Refresh>false</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Проверка Back Google осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>GoogleBack</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>af5e5a3e-a99b-4463-a280-7499a1292a76</Id>
<ExpireAt>2014-12-11T15:10:16.6673372+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>GoogleBack</Parameter>
<Value xsi:type="xsd:int">1</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>GoogleBack</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка кол-ва проиндексированный картинок сайта в Google осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>GoogleImage</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>ad194b37-f239-4a38-bc4c-5826959f034f</Id>
<ExpireAt>2014-12-11T15:17:46.3793326+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>GoogleImage</Parameter>
<Value xsi:type="xsd:int">79</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>GoogleImage</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка Позиций G осуществляется через сессии.
Используются методы /session/new и /session/get.
По умолчанию проверка идет до 100 позиции в выдаче Google.ru Для проверки с большей глубиной необходимо указать параметр MaxCheckPosition. Максимальное значение этого параметра
С помощью этого параметра можно получить:
- все результаты поисковой выдачи Google.ru до указанной глубины сканирования. Для этого нужно использовать контракт PositionGoogleTask.
- позицию сайта в выдаче Google.ru Для этого нужно использовать контракт PositionGoogleUrlTask. У этого контракта есть 2 дополнительных параметра: Url (страница/домен) для проверки и CheckType (Domain, Page). Если в CheckType указан параметр Domain, проверка вернет позицию первой найденной страницы сайта по запросу. Если в CheckType указан параметр Page, проверка вернет позицию конкретной страницы сайта по запросу.
XML для инициализации сессии (пример контракта PositionGoogleUrlTask)
<InitSession>
<Parameters>
<TaskVariant>PositionGoogle</TaskVariant>
</Parameters>
<DomainNames>
<PositionGoogleUrlTask>
<MaxCheckPosition>50</MaxCheckPosition>
<Region>RU</Region>
<Query>новости</Query>
<Id>1</Id>
<Url>news.yandex.ru</Url>
<CheckType>Domain</CheckType>
</PositionGoogleUrlTask>
</DomainNames>
<Refresh>false</Refresh>
</InitSession>
Пример ответа сессии (пример контракта PositionGoogleUrlTask для XML)
<ApiSessionItemContract>
<Id>b41c5725-ea97-4a3e-8385-4bf5e5309521</Id>
<ExpireAt>2015-01-06T13:16:07.8548728+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>1</DomainName>
<Values>
<Data>
<Parameter>PositionGoogle</Parameter>
<Value xsi:type="PositionGoogleResult">
<CountResult>542000000</CountResult>
<Positions>
<PositionGoogleData>
<Url>http://news.yandex.ru/</Url>
<Position>2</Position>
<Title>Яндекс.Новости: Главные новости</Title>
<Snippet>Главные новости на Яндекс.Новостях: события, персоны, цитаты,
самые обсуждаемые и горячие сюжеты. Последние новости России и Украины ...</Snippet>
</PositionGoogleData>
</Positions>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
JSON для инициализации сессии (пример контракта PositionGoogleTask)
{
"Parameters": [
"PositionGoogle"
],
"DomainNames": [{
"$type": "PositionGoogleTask",
"Id":1,
"MaxCheckPosition":50,
"Query":"каталог запчастей",
"Region":"RU"
}]
}
Пример ответа сессии (пример контракта PositionGoogleTask для JSON)
{
"Domains":[
{
"IsValid":true,
"DomainName":"1",
"Values":[
{
"Parameter":"PositionGoogle",
"Value":{
"CountResult":1240000,
"Positions":[
{
"Url":"http://www.exist.ru/",
"Position":1,
"Title":"Автозапчасти, запчасти для иномарок, каталог ...",
"Snippet":"Интернет-магазин автозапчастей для иномарок Exist.ru. Электронный каталог запчастей ... "
},
{
"Url":"http://www.epcdata.ru/",
"Position":2,
"Title":"Онлайн-каталоги запчастей к японским и не только ...",
"Snippet":"Электронный каталог оригинальных запчастей Toyota, Mitsubishi, Mazda, Honda, Lexus в онлайне."
},
{
"Url":"http://www.emex.ru/",
"Position":3,
"Title":"Автозапчасти, запчасти, каталог запчастей для иномарок ...",
"Snippet":"Купить автозапчасти для иномарок в интернет – магазине Emex можно с помощью каталога ..."
},
{
"Url":"http://www.elcats.ru/",
"Position":4,
"Title":"Elcats.ru",
"Snippet":"Описание веб-страницы недоступно из-за ограничений в файле robots.txt. Подробнее..."
},
{
"Url":"http://www.autodoc.ru/Web/Pages/CatalogOriginal.aspx",
"Position":5,
"Title":"Оригинальные каталоги - Автодок",
"Snippet":"В электронному каталоге запчастей для иномарок от autodoc.ru представлен большой ..."
}
]
},
"Errors":null
}
]
}
],
"Id":"f7d8be2d-fb5b-4019-8dce-3ef99aa0365f",
"ExpireAt":"2015-01-06T12:15:58.0764053+02:00",
"Progress":100,
"SessionStatus":"Completed"
}
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>PositionGoogle</TaskVariant>
</Parameters>
<DomainNames>
<PositionGoogleUrlTask>
<MaxCheckPosition>50</MaxCheckPosition>
<Region>RU</Region>
<Query>новости</Query>
<Id>1</Id>
<Url>news.yandex.ru</Url>
<CheckType>Domain</CheckType>
</PositionGoogleUrlTask>
</DomainNames>
<Refresh>false</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach($data->Value as $value)
{
echo "CountResult = $value->CountResult"."<br/>";
echo "Positions ="."<br/>";
foreach($value->Positions->PositionYandexData as $positionData)
{
echo "PositionData = "."<br/>";
echo "Url = $positionData->Url"."<br/>";
echo "Position = $positionData->Position"."<br/>";
echo "Snippet = $positionData->Snippet"."<br/>";
echo "Title = $positionData->Title"."<br/>";
}
}
}
echo "<br/>";
}
Проверка кол-ва проиндексированный страниц сайта в Bing осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>BingIndex</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>e590b777-7a35-41d6-b65e-d9daac9d3029</Id>
<ExpireAt>2014-12-09T18:28:53.5956253+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>BingIndex</Parameter>
<Value xsi:type="xsd:int">0</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>BingIndex</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка кол-ва исходящих ссылок с сайта по Bing осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Bing</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>76b2cc73-4e1e-4bf6-9985-c529961d0a99</Id>
<ExpireAt>2014-12-09T18:17:34.1017605+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>Bing</Parameter>
<Value xsi:type="xsd:int">3</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>Bing</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка кол-ва наиболее весомых входящих ссылок на сайт по данным Bing осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>BackBing</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>998e704d-e6bf-4bc5-b8a5-912f2c0c2143</Id>
<ExpireAt>2014-12-09T18:10:27.9013832+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>BackBing</Parameter>
<Value xsi:type="xsd:int">5</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>BackBing</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка Alexa осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Alexa</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>97f23c64-42fd-43de-9e30-7e7191e5d6f8</Id>
<ExpireAt>2014-12-09T17:10:18.9069605+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>Alexa</Parameter>
<Value xsi:type="xsd:int">11317</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>Alexa</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка кол-ва наиболее весомых входящих ссылок на сайт по данным Alexa осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>BackAlexa</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>f6a0013c-bf22-4e14-9ef3-d1950ca1df77</Id>
<ExpireAt>2014-12-09T17:52:00.7780594+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>BackAlexa</Parameter>
<Value xsi:type="xsd:int">244</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>BackAlexa</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка Уникальности осуществляется через сессии.
Используются методы /session/new и /session/get.
Если мы не смогли выделить 500 символов значимого текста на анализируемой странице, проверка возвращает ошибку, деньги за проверку в этом случае не списываются.
Проверить можно либо страницу, передав параметр Action - Uri, либо текст: Action - Text.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>UniqueContent</TaskVariant>
</Parameters>
<DomainNames>
<UniqueContentData>
<Action>Uri</Action>
<CheckData>http://press-relizy.ru/archive/business/134634.html</CheckData>
<Ignore>http://press-relizy.ru/</Ignore>
</UniqueContentData>
</DomainNames>
<Refresh>false</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>a5775164-ef27-498d-a105-af5a50e1d62b</Id>
<ExpireAt>2015-01-06T10:14:25.2012767+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>http://press-relizy.ru/archive/business/134634.html</DomainName>
<Values>
<Data>
<Parameter>UniqueContent</Parameter>
<Value xsi:type="UniqueContentTextApiData">
<Percent>0.8</Percent>
<Matches>
<Match>
<url>http://www.psbank.ru/Bank/Press/News/2014/10/10-2</url>
<percent>99.2</percent>
</Match>
<Match>
<url>http://www.press-release.ru/branches/finance/ded82e2178301/</url>
<percent>99.2</percent>
</Match>
<Match>
<url>http://www.xn--80aahgtga3acbkr2a6a0h.xn--p1ai/home/allnewsp</url>
<percent>20.6</percent>
</Match>
<Match>
<url>http://www.niann.ru/?id=462096</url>
<percent>88.6</percent>
</Match>
<Match>
<url>http://b2blogger.com/pressroom/tag/%D1%84%D0%BE%D0%BD%D0%B4/</url>
<percent>6.0</percent>
</Match>
<Match>
<url>http://news.chita.ru/58444/</url>
<percent>25.4</percent>
</Match>
<Match>
<url>http://www.creditforbusiness.ru/news/24431/</url>
<percent>24.3</percent>
</Match>
<Match>
<url>http://www.dg-yug.ru/a/2014/10/20/Venchurnij_fond_Promsvjazb2</url>
<percent>99.2</percent>
</Match>
<Match>
<url>http://vologdainfo.ru/events/index.php?id=1157</url>
<percent>99.1</percent>
</Match>
<Match>
<url>http://vk.com/wall-39825007_923</url>
<percent>23.5</percent>
</Match>
</Matches>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>UniqueContent</TaskVariant>
</Parameters>
<DomainNames>
<UniqueContentData>
<Action>Uri</Action>
<CheckData>http://press-relizy.ru/archive/business/134634.html</CheckData>
<Ignore>http://press-relizy.ru/</Ignore>
</UniqueContentData>
</DomainNames>
<Refresh>false</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach($data->Value as $value)
{
echo "Percent = $value->Percent%"."<br/>";
echo "Matches ="."<br/>";
foreach($value->Matches->Match as $match)
{
echo "Match = "."<br/>";
echo "url = $match->url"."<br/>";
echo "percent = $match->percent%"."<br/>";
echo "<br/>";
}
}
}
echo "<br/>";
}
Наличие сайтов в различных биржах можно проверить используюя API функцию /seo/bulk.
Параметр "Parameters" может быть либо упущен, тогда проверка будет осуществляться на наличие во всем seo биржах, либо можно указать конкретные биржи:
[] - проверять во всех биржах
1 - Sape
2 - Mainlink
4 - Linkfeed
8 - Setlinks
16 - Xap
32 - Trustlink
64 - Propage
128 - Liex
512 - Sape Articles
1024 - Sape Pr
2048 - Miralinks
4096 - Gogetlinks
8192 - Blogun
16384 - Rota Post
32768 - RDS
Для получение всех данных
<InitSeoData>
<Parameters/>
<Domains>
<string>aif.ru</string>
</Domains>
</InitSeoData>
{
"Domains":[
"aif.ru"
],
"Parameters":[]
}
Получаем ответ
<ArrayOfSeoItem>
<SeoItem>
<Url>aif.ru</Url>
<Seos>
<Seo>SapePr</Seo>
<Seo>RotaPost</Seo>
</Seos>
</SeoItem>
</ArrayOfSeoItem>
[
{
"Url":"aif.ru",
"Seos":[
"SapePr",
"RotaPost"
],
"Seo":"SapePr, RotaPost"
}
]
Для проверки участия сайта в любой одной бирже
<InitSeoData>
<Parameters>
<Seo>Sape</Seo>
</Parameters>
<Domains>
<string>aif.ru</string>
</Domains>
</InitSeoData>
{
"Domains":[
"aif.ru"
],
"Parameters":[
1
]
}
Получаем ответ
<ArrayOfSeoItem>
<SeoItem>
<Url>aif.ru</Url>
<Seos/>
</SeoItem>
</ArrayOfSeoItem>
[
{
"Url":"aif.ru",
"Seos":[ ],
"Seo":"None"
}
]
Для проверки участия сайта в нескольких биржах
<InitSeoData>
<Parameters>
<Seo>Sape</Seo>
<Seo>Xap</Seo>
<Seo>Miralinks</Seo>
<Seo>Blogun</Seo>
</Parameters>
<Domains>
<string>aif.ru</string>
</Domains>
</InitSeoData>
{
"Domains":[
"aif.ru"
],
"Parameters":[
1,
16,
2048,
8192
]
}
Получаем ответ
<ArrayOfSeoItem>
<SeoItem>
<Url>aif.ru</Url>
<Seos/>
</SeoItem>
</ArrayOfSeoItem>
[
{
"Url":"aif.ru",
"Seos":[ ],
"Seo":"None"
}
]
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// Формируем XML
$post_data = "
<InitSeoData>
<Parameters>
<Seo>Mainlink</Seo>
</Parameters>
<Domains>
<string>san-club.net</string>
</Domains>
</InitSeoData>";
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:998/api/seo/bulk?format=xml");
// Передаем 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;
}
}
Покупает ли сайт 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);
Проверка Индекс Linkpad осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Solomono</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>04d4b9ff-b2e3-467c-b670-1d400959ab80</Id>
<ExpireAt>2014-12-17T20:04:02.5727214+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>Solomono</Parameter>
<Value xsi:type="SolomonoApiData">
<Value>1953</Value>
<LinksIn>428</LinksIn>
<LinksOut>63</LinksOut>
<IndexDate xsi:nil="true" />
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>Solomono</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Проверка SimilarWeb осуществляется через сессии.
Используются методы /session/new и /session/get.
XML пример запроса получения сессии
<InitSession>
<Parameters>
<TaskVariant>SimilarWeb</TaskVariant>
</Parameters>
<DomainNames>
<DomainTask>
<DomainName>президент.рф</DomainName>
</DomainTask>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
{
"Parameters":[
"SimilarWeb"
],
"DomainNames":[
{
"DomainName":"президент.рф"
}
]
}
XML пример ответа сессии
<ApiSessionItemContract>
<Id>63e44b7a-74ee-4eb0-b9d7-5704f4de5d82</Id>
<ExpireAt>2015-04-14T16:05:55.7092624+03:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>президент.рф</DomainName>
<Values>
<Data>
<Parameter>SimilarWeb</Parameter>
<Value xsi:type="SimilarWebResult">
<GlobalRank>2569</GlobalRank>
<LocalRank>173</LocalRank>
<Country>Russian Federation</Country>
<Visits>9859708</Visits>
<StrTimeOnSite>00:02:22</StrTimeOnSite>
<PageViews>3.01</PageViews>
<BounceRate>67.52</BounceRate>
<Direct>15.1</Direct>
<Referrals>41.31</Referrals>
<Search>36</Search>
<Social>5.04</Social>
<Mail>0.22</Mail>
<Display>2.33</Display>
<Category>News and Media</Category>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
{
"Domains":[
{
"IsValid":true,
"DomainName":"президент.рф",
"Values":[
{
"Parameter":"SimilarWeb",
"Value":{
"GlobalRank":2569,
"LocalRank":173,
"Country":"Russian Federation",
"Visits":9859708,
"StrTimeOnSite":"00:02:22",
"PageViews":3.01,
"BounceRate":67.52,
"Direct":15.1,
"Referrals":41.31,
"Search":36.0,
"Social":5.04,
"Mail":0.22,
"Display":2.33,
"Category":"News and Media"
},
"Errors":null
}
]
}
],
"Id":"3c1f9000-a0cf-4bc0-9347-6a6104193bf7",
"ExpireAt":"2015-04-14T16:13:32.1158673+03:00",
"Progress":100,
"SessionStatus":"Completed"
}
GlobalRank - рейтинг посещаемости сайта по данным SimilarWeb, чем меньше число тем больше посещаемость.
LocalRank - локальный рейтинг посещаемости сайта по данным SimilarWeb, чем меньше число тем больше посещаемость.
Country - страна из которой совершается наибольшее кол-во переходов на сайт.
Visits - примерное кол-во посещений сайта в месяц по данным SimilarWeb.
StrTimeOnSite - среднее время на сайте по данным SimilarWeb.
PageViews - среднее кол-во страниц сайта по данным SimilarWeb.
BounceRate - кол-во отказов по данным SimilarWeb.
Direct - % прямых заходов на сайт по данным SimilarWeb.
Referrals - % переходов на сайт с других доменов по данным SimilarWeb.
Search - % переходов на сайт из поисковых систем по данным SimilarWeb.
Social - % переходов на сайт из соц сетей по данным SimilarWeb.
Mail - % переходов на сайт из электронной почты по данным SimilarWeb.
Display - % переходов на сайт из систем баннерной и контекстной рекламы по данным SimilarWeb.
Category - тематика сайта по данным SimilarWeb.
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>SimilarWeb</TaskVariant>
</Parameters>
<DomainNames>
<DomainTask>
<DomainName>президент.рф</DomainName>
</DomainTask>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Проверка посещаемости по RDS осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>StatHistory</TaskVariant>
</Parameters>
<DomainNames>
<StatHistoryTask>
<DomainName>aif.ru</DomainName>
<StartDate>2014-08-27</StartDate>
<StopDate>2015-02-27</StopDate>
</StatHistoryTask>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
{
"Parameters":[
"StatHistory"
],
"DomainNames":[
{
"DomainName":"aif.ru",
"StartDate":"2014-08-27",
"StopDate":"2015-02-27"
}
],
"Refresh":"true"
}
Пример ответа сессии
<ApiSessionItemContract>
<Id>649c0177-1ae0-4a28-9aee-7ba1035e60a0</Id>
<ExpireAt>2015-04-14T14:55:50.8531299+03:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>aif.ru</DomainName>
<Values>
<Data>
<Parameter>StatHistory</Parameter>
<Value xsi:type="ArrayOfVisit">
<Visit>
<Date>2015-02</Date>
<Value>391790</Value>
</Visit>
<Visit>
<Date>2015-01</Date>
<Value>360268</Value>
</Visit>
<Visit>
<Date>2014-12</Date>
<Value>344085</Value>
</Visit>
<Visit>
<Date>2014-11</Date>
<Value>300136</Value>
</Visit>
<Visit>
<Date>2014-10</Date>
<Value>287301</Value>
</Visit>
<Visit>
<Date>2014-09</Date>
<Value>281975</Value>
</Visit>
<Visit>
<Date>2014-08</Date>
<Value>292274</Value>
</Visit>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
{
"Domains":[
{
"IsValid":true,
"DomainName":"aif.ru",
"Values":[
{
"Parameter":"StatHistory",
"Value":[
{
"Date":"2015-02",
"Value":391790
},
{
"Date":"2015-01",
"Value":360268
},
{
"Date":"2014-12",
"Value":344085
},
{
"Date":"2014-11",
"Value":300136
},
{
"Date":"2014-10",
"Value":287301
},
{
"Date":"2014-09",
"Value":281975
},
{
"Date":"2014-08",
"Value":292274
}
],
"Errors":null
}
]
}
],
"Id":"4362dad6-42ff-4e06-83b4-0c07c92b9a23",
"ExpireAt":"2015-04-14T15:24:53.9925377+03:00",
"Progress":100,
"SessionStatus":"Completed"
}
Где Date - дата проверки, Value - значение.
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>StatHistory</TaskVariant>
</Parameters>
<DomainNames>
<StatHistoryTask>
<DomainName>aif.ru</DomainName>
<StartDate>2014-08-27T15:07:40.6729664+02:00</StartDate>
<StopDate>2015-02-27T15:07:40.6729664+02:00</StopDate>
</StatHistoryTask>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach($data->Value->Visit as $visit)
{
echo "Date = $visit->Date"."<br/>";
echo "Value = $visit->Value"."<br/>";
echo "<br/>";
}
}
echo "<br/>";
}
Проверка посещаемости осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Counters</TaskVariant>
</Parameters>
<DomainNames>
<Counter>
<SiteId>-5</SiteId>
<CounterType>Liveinternet</CounterType>
<Url>pikabu.ru</Url>
</Counter>
<Counter>
<SiteId>2506609</SiteId>
<CounterType>Top100Rambler</CounterType>
<Url>pikabu.ru</Url>
</Counter>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
SiteId - ID счетчика на сайте (для Liveinternet и YandeG ноль), CounterType - идентификатор счетчика(Liveinternet, YandexMetrica, Top100Rambler, MailRu, HotLog, Bigmir, Topstat, MyCounter, Log24, YandeG, OpenStat, HitUa, IUa).
Пример ответа сессии
<ApiSessionItemContract>
<Id>60058156-8eb2-4aad-b9ff-46a8a99dfbf4</Id>
<ExpireAt>2014-12-19T12:32:14.5128065+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>pikabu.ru</DomainName>
<Values>
<Data>
<Parameter>Counters</Parameter>
<Value xsi:type="CounterApiData">
<Value>739918</Value>
<Access>2</Access>
<CounterType>Liveinternet</CounterType>
</Value>
</Data>
<Data>
<Parameter>Counters</Parameter>
<Value xsi:type="CounterApiData">
<Value>0</Value>
<Access>2</Access>
<CounterType>Top100Rambler</CounterType>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
Value - значение счетчика за вчера или за день (-666 если склеен). 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>-5</SiteId>
<CounterType>Liveinternet</CounterType>
<Url>pikabu.ru</Url>
</Counter>
<Counter>
<SiteId>2506609</SiteId>
<CounterType>Top100Rambler</CounterType>
<Url>pikabu.ru</Url>
</Counter>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Проверка сайта на участвие в Агрегаторах осуществляется через сессии.
Проверить можно либо сразу во всех агрегаторах, либо выборочно из списка: Yandex, Google, Novoteka, Bing.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>NewsAggregator</TaskVariant>
</Parameters>
<DomainNames>
<NewsAggregatorTask>
<NewsAggregatorType>Yandex Google Novoteka Bing</NewsAggregatorType>
<DomainName>talks.su</DomainName>
</NewsAggregatorTask>
</DomainNames>
<Refresh>false</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>83bf0279-8912-46af-93b1-f58c58282bec</Id>
<ExpireAt>2014-12-22T12:32:12.814021+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>talks.su</DomainName>
<Values>
<Data>
<Parameter>NewsAggregator</Parameter>
<Value xsi:type="NewsAggregatorResult">
<NewsAggregatorType>Yandex Google Novoteka Bing</NewsAggregatorType>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>NewsAggregator</TaskVariant>
</Parameters>
<DomainNames>
<NewsAggregatorTask>
<NewsAggregatorType>Yandex Google Novoteka Bing</NewsAggregatorType>
<DomainName>talks.su</DomainName>
</NewsAggregatorTask>
</DomainNames>
<Refresh>false</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Проверка рекомендаций сайта в социальных сетях осуществляется через сессии.
Проверить можно либо сразу во всех социальных сетях, передав параметр SocialNetworks - All, либо выборочно из списка: Vkontakte, GooglePlus, Facebook.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>SocialNetworks</TaskVariant>
</Parameters>
<DomainNames>
<SocialNetworksData>
<Url>recipdonor.com</Url>
<SocialNetworks>All</SocialNetworks>
</SocialNetworksData>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>4587b689-b167-454c-8053-622c96429222</Id>
<ExpireAt>2014-12-17T19:58:43.6879224+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>SocialNetworks</Parameter>
<Value xsi:type="SocialNetworksApiData">
<Network>Vkontakte</Network>
<Value>33</Value>
</Value>
</Data>
<Data>
<Parameter>SocialNetworks</Parameter>
<Value xsi:type="SocialNetworksApiData">
<Network>Facebook</Network>
<Value>26</Value>
</Value>
</Data>
<Data>
<Parameter>SocialNetworks</Parameter>
<Value xsi:type="SocialNetworksApiData">
<Network>GooglePlus</Network>
<Value>36</Value>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>SocialNetworks</TaskVariant>
</Parameters>
<DomainNames>
<SocialNetworksData>
<Url>recipdonor.com</Url>
<SocialNetworks>All</SocialNetworks>
</SocialNetworksData>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Проверка наличия вирусов на сайте по версии Яндекса, Google, WebMoney Advisor и VirusTotal осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>CheckDangerous</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>17235426-dae1-4cfe-92a7-491322c9fb19</Id>
<ExpireAt>2014-12-09T18:56:28.0492547+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>CheckDangerous</Parameter>
<Value xsi:type="IsDangerousApiData">
<Dangerous>None</Dangerous>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>CheckDangerous</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка Whois осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Whois</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>b10d46f9-be0a-427a-8b2d-b17b06e7561b</Id>
<ExpireAt>2014-12-18T18:17:26.1500155+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>Whois</Parameter>
<Value xsi:type="WhoisApiData">
<WhoisStartDate>2009-06-18T00:00:00</WhoisStartDate>
<WhoisExpDate>2015-06-18T00:00:00</WhoisExpDate>
<WhoisDns>dns1.yandex.ru dns2.yandex.ru</WhoisDns>
<WhoisInfo></WhoisInfo>
<WhoisRegInfo>PDR LTD. D/B/A PUBLICDOMAINREGISTRY.COM</WhoisRegInfo>
<Whois>1</Whois>
<IsSubdomen>false</IsSubdomen>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>Whois</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Возраст домена можно определеить с помощью функции /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;
Проверка WebArchive осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Wa</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>17d71400-cda3-41eb-81f3-2e401db2ddf6</Id>
<ExpireAt>2014-12-17T19:47:32.3322936+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>Wa</Parameter>
<Value xsi:type="WebArchApiData">
<Wa>20091011080619</Wa>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>Wa</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Проверка Анализ IP адреса осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>GeoTool</TaskVariant>
</Parameters>
<DomainNames>
<string>62.149.1.74</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>5b5fef2a-02d3-4285-a03d-b8c5648b2a11</Id>
<ExpireAt>2014-12-11T14:53:08.9331347+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>62.149.1.74</DomainName>
<Values>
<Data>
<Parameter>GeoTool</Parameter>
<Value xsi:type="GeoApiData">
<City /> <!-- город -->
<Country>Ukraine</Country> <!-- страна -->
<Isp>Colocall Ltd.</Isp> <!-- провайдер -->
<HostName>WIN-2NHC6VS6TLI</HostName> <!-- имя хоста -->
<Iso2>UA</Iso2> <!-- страна ISO2 -->
<CountryRu>Украина</CountryRu> <!-- русское название страны -->
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>GeoTool</TaskVariant>
</Parameters>
<DomainNames>
<string>62.149.1.74</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Сайты на 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;
}
Проверка cайты на IP по Bing осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>BingIp</TaskVariant>
</Parameters>
<DomainNames>
<string>62.149.1.74</string>
</DomainNames>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>21843e48-23a8-4c0b-b8fc-b40bbfac11f3</Id>
<ExpireAt>2014-12-09T18:39:18.6973791+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>62.149.1.74</DomainName>
<Values>
<Data>
<Parameter>BingIp</Parameter>
<Value xsi:type="xsd:int">0</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>BingIp</TaskVariant>
</Parameters>
<DomainNames>
<string>62.149.1.74</string>
</DomainNames>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
}
echo "<br/>";
}
Проверка Параметры страницы осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии для проверки доменов
<InitSession>
<Parameters>
<TaskVariant>PageValuesExt</TaskVariant>
</Parameters>
<DomainNames>
<string>pikabu.ru/</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
XML для инициализации сессии для проверки страниц. Параметр RecipSiteUrl обязательный и содержит в себе домен реципиента, наличие ссылки на которого Вы проверяете
<InitSession>
<Parameters>
<TaskVariant>PageValuesExt</TaskVariant>
</Parameters>
<DomainNames>
<Page>
<Url>pikabu.ru/</Url>
<RecipSiteUrl>http://chaype.ru/</RecipSiteUrl>
</Page>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии после проверки домена, при проверке страницы придет дополнительный параметр Donors
<ApiSessionItemContract>
<Id>385bd114-93ef-4518-9afa-ba5fc77004b1</Id>
<ExpireAt>2014-12-19T12:06:14.1387852+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>pikabu.ru/</DomainName>
<Values>
<Data>
<Parameter>PageValuesExt</Parameter>
<Value xsi:type="PageValuesApiDataPages">
<Title>Горячее / pikabu.ru - Все</Title> <!-- заголовок страницы -->
<LinksIn>296</LinksIn> <!-- входящие ссылки -->
<LinksOut>5</LinksOut> <!-- исходящие ссылки -->
<ComLinks>0</ComLinks> <!-- коммерческие ссылки -->
<PageSize>281</PageSize> <!-- размер страницы -->
<ClearPageSize>77</ClearPageSize> <!-- размер страницы без тегов -->
<WmExists>false</WmExists>
<ResponseCode>OK</ResponseCode> <!-- HttpStatusCode -->
<Cmses /> <!-- системы управления сайтом -->
<Commercials /> <!-- контекстная реклама -->
<Counters> <!-- счетчики -->
<CountersApiData>
<Type>Liveinternet</Type>
<SiteId>-5</SiteId>
<Codes />
</CountersApiData>
<CountersApiData>
<Type>GoogleAnalytics</Type>
<SiteId>-1</SiteId>
<Codes>
<CommercialCodesApiData>
<Code>UA-28292940-1</Code>
<Type>Analytics</Type>
</CommercialCodesApiData>
</Codes>
</CountersApiData>
<CountersApiData>
<Type>YandexMetrica</Type>
<SiteId>174977</SiteId>
<Codes />
</CountersApiData>
<CountersApiData>
<Type>Top100Rambler</Type>
<SiteId>2506609</SiteId>
<Codes />
</CountersApiData>
</Counters>
<Donors> <!-- доноры -->
<DonorApiData>
<Url>http://chaype.ru/</Url>
<Text>
<string>[NOINDEX][NOFOLLOW]Чат[/NOFOLLOW][/NOINDEX]</string>
</Text>
</DonorApiData>
</Donors>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>PageValuesExt</TaskVariant>
</Parameters>
<DomainNames>
<Page>
<Url>pikabu.ru/</Url>
<RecipSiteUrl>http://chaype.ru/</RecipSiteUrl>
</Page>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
if($paramKey == 'Counters') {
foreach($paramValue->CountersApiData as $countersData) {
echo $countersData->Type."<br/>";
echo $countersData->SiteId."<br/>";
foreach($countersData->Codes->CommercialCodesApiData as $commercialData) {
echo $commercialData->Code."<br/>";
echo $commercialData->Type."<br/>";
}
echo "<br/>";
}
} else if($paramKey == 'Donors') {
foreach($paramValue->DonorApiData as $donorsData) {
echo $donorsData->Url."<br/>";
echo $donorsData->Text->string."<br/>";
}
}
}
}
echo "<br/>";
}
Получить поддомены можно через 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
*/
Сайты можно получить из функции /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
.....
*/
Проверка SEMRush рейтинга осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Semrush</TaskVariant>
</Parameters>
<DomainNames>
<SemrushTask>
<DomainName>recipdonor.com</DomainName>
<DomainZone>ru</DomainZone>
</SemrushTask>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Региональная база DomainZone может принимать одно из значений
Google:
Bing:
Пример ответа сессии
<ApiSessionItemContract>
<Id>1c94bda4-317c-4490-ad06-7a8e75c81d22</Id>
<ExpireAt>2014-12-17T20:06:57.6500357+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>Semrush</Parameter>
<Value xsi:type="SemrushApiData">
<Value>46093</Value>
<Traffic>1340</Traffic>
<Costs>183</Costs>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>Semrush</TaskVariant>
</Parameters>
<DomainNames>
<SemrushTask>
<DomainName>recipdonor.com</DomainName>
<DomainZone>ru</DomainZone>
</SemrushTask>
</DomainNames>
<Refresh>false</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Проверка валидности страницы осуществляется через сессии.
Используются методы /session/new и /session/get.
XML для инициализации сессии
<InitSession>
<Parameters>
<TaskVariant>Validator</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
Пример ответа сессии
<ApiSessionItemContract>
<Id>ce4fa3d3-32b8-46c4-b699-20fc7ab3e914</Id>
<ExpireAt>2014-12-17T19:51:18.0887397+02:00</ExpireAt>
<Progress>100</Progress>
<SessionStatus>Completed</SessionStatus>
<Domains>
<DomainData IsValid="true">
<DomainName>recipdonor.com</DomainName>
<Values>
<Data>
<Parameter>Validator</Parameter>
<Value xsi:type="ValidatorApiData">
<IsValid>false</IsValid>
<Errors>9</Errors>
<Warnings>0</Warnings>
</Value>
</Data>
</Values>
</DomainData>
</Domains>
</ApiSessionItemContract>
<?php
// RDS Api ключ пользователя
$api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
// XML для инициализации сессии
$put_data =
'<InitSession>
<Parameters>
<TaskVariant>Validator</TaskVariant>
</Parameters>
<DomainNames>
<string>recipdonor.com</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>';
// Инициализируем запрос для создания сессии
$ch = curl_init("http://recipdonor.com:977/api/session/new?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
// Обрабатываем пришедший ответ
$sesssionInitData = new SimpleXMLElement($initSessionData);
// Достаем идентификатор созданой сессии
$sessionId = $sesssionInitData->Id;
$sessionData = null;
do{
// Небольшая задержка перед получением данных
sleep(2);
// Инициализируем запрос для получения данных сессии
$ch = curl_init("http://recipdonor.com:977/api/session/get/{$sessionId}?format=xml");
// Передаем 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);
curl_close($ch);
if($responseInfo['http_code'] != 200) exit('Wrong request!');
$sessionData = new SimpleXMLElement($response);
// Повоторяем процедуру пока сессия не будет завершена
}while($sessionData->SessionStatus == 'AtChecking');
// Выводим пришедшие данные
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
echo "{$paramKey} = {$paramValue}"."<br/>";
}
}
echo "<br/>";
}
Получить 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
<?xml version="1.0"?>
<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 методы:
<InitSession>
<Parameters>
<TaskVariant>Cy</TaskVariant>
</Parameters>
<DomainNames>
<string>String content</string>
</DomainNames>
<Refresh>true</Refresh>
</InitSession>
{
"DomainNames":["String content"],
"Parameters":[0],
"Refresh":true
}
<ApiSessionItemSlimContract>
<Id>ab59b3ea-305c-4e3c-9ad3-ea2ad0f52cdf</Id>
<ExpireAt>2015-01-16T18:18:03.0638585+02:00</ExpireAt>
<Progress>0</Progress>
<SessionStatus>AtChecking</SessionStatus>
</ApiSessionItemSlimContract>
{
"Id":"ab59b3ea-305c-4e3c-9ad3-ea2ad0f52cdf",
"ExpireAt":"2015-01-16T18:18:03.0638585+02:00",
"Progress":0,
"SessionStatus":"AtChecking"
}
<ApiSessionItemContract>
<Id>ab59b3ea-305c-4e3c-9ad3-ea2ad0f52cdf</Id>
<ExpireAt>2015-01-16T18:20:44.0690674+02:00</ExpireAt>
<Progress>100</Progress>
<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":[{
"IsValid":true,
"DomainName":"test.com",
"Values":[{
"Parameter":"Cy",
"Value":{
"Cy":4700,
"Yaca":"0",
"YaBarMirrow":1
}
}]
}],
"Id":"ab59b3ea-305c-4e3c-9ad3-ea2ad0f52cdf",
"ExpireAt":"2015-01-16T18:20:44.0690674+02:00",
"Progress":100,
"SessionStatus":"Completed"
}
<ArrayOfHistoryItem>
<HistoryItem>
<Date>2015-01-16T15:16:00</Date>
<Value>2</Value>
<Yac xsi:nil="true" />
</HistoryItem>
<HistoryItem>
<Date>2012-07-13T18:58:00</Date>
<Value>3</Value>
<Yac xsi:nil="true" />
</HistoryItem>
</ArrayOfHistoryItem>
[
{
"Date":"2015-01-16T15:16:00",
"Value":2,
"Yac":null
},
{
"Date":"2012-07-13T18:58:00",
"Value":3,
"Yac":null
}
]
<int>50</int>
50
<ArrayOfString>
<string>ztest.com</string>
<string>atest.com</string>
</ArrayOfString>
["ztest.com", "atest.com"]
<int>5</int>
5
<dateTime>2007-12-03T00:00:00</dateTime>
"Sun, 02 Dec 2007 22:00:00 GMT"
<SiteItemCollectionOfSiteItem>
<Collection>
<SiteItem>
<Url>aif.ru</Url>
<SubDomen>aif.ru</SubDomen>
</SiteItem>
<SiteItem>
<Url>aif.ua</Url>
<SubDomen>aif.ua</SubDomen>
</SiteItem>
<SiteItem>
<Url>spb.aif.ru</Url>
<SubDomen>[PAYSUB]spb[/PAYSUB].aif.ru</SubDomen>
</SiteItem>
</Collection>
<CountAll>158</CountAll>
</SiteItemCollectionOfSiteItem>
{
"Collection":[
{
"Url":"aif.ru",
"SubDomen":"aif.ru"
},
{
"Url":"aif.ua",
"SubDomen":"aif.ua"
},
{
"Url":"spb.aif.ru",
"SubDomen":"[PAYSUB]spb[/PAYSUB].aif.ru"
}
],
"CountAll":158
}
<SiteItemCollectionOfSiteItem>
<Collection>
<SiteItem>
<Url>spb.aif.ru</Url>
<SubDomen>[PAYSUB]spb[/PAYSUB].aif.ru</SubDomen>
</SiteItem>
<SiteItem>
<Url>gazeta.aif.ru</Url>
<SubDomen>[PAYSUB]gazeta[/PAYSUB].aif.ru</SubDomen>
</SiteItem>
<SiteItem>
<Url>vlg.aif.ru</Url>
<SubDomen>[PAYSUB]vlg[/PAYSUB].aif.ru</SubDomen>
</SiteItem>
</Collection>
<CountAll>166</CountAll>
</SiteItemCollectionOfSiteItem>
{
"Collection":[
{
"Url":"spb.aif.ru",
"SubDomen":"[PAYSUB]spb[/PAYSUB].aif.ru"
},
{
"Url":"gazeta.aif.ru",
"SubDomen":"[PAYSUB]gazeta[/PAYSUB].aif.ru"
},
{
"Url":"vlg.aif.ru",
"SubDomen":"[PAYSUB]vlg[/PAYSUB].aif.ru"
}
],
"CountAll":166
}
<WhoisItem>
<WhoisStartDate>1997-02-03T00:00:00</WhoisStartDate>
<WhoisExpDate>2016-03-01T00:00:00</WhoisExpDate>
<WhoisEmail>ru-bill@nic.ru</WhoisEmail>
<WhoisDns>ns1.aif.ru. 130.193.65.55 ns2.aif.ru. 81.23.15.70 ns3.aif.ru. 81.23.15.81 ns4-cloud.nic.ru ns4-l2.ni</WhoisDns>
<WhoisInfo>\nArgumenty i facty LTD</WhoisInfo>
<WhoisPhone>+74957370601</WhoisPhone>
<WhoisRegInfo>RU-CENTER-RU\nArgumenty i facty LTD\nRegional Network Information Center</WhoisRegInfo>
<Url/>
<Whois>1</Whois>
<WhoisHistCount>0</WhoisHistCount>
</WhoisItem>
{
"WhoisStartDate":"Sun, 02 Feb 1997 22:00:00 GMT",
"WhoisExpDate":"Mon, 29 Feb 2016 22:00:00 GMT",
"WhoisEmail":"ru-bill@nic.ru",
"WhoisDns":"ns1.aif.ru. 130.193.65.55 ns2.aif.ru. 81.23.15.70 ns3.aif.ru. 81.23.15.81 ns4-cloud.nic.ru ns4-l2.ni",
"WhoisInfo":"\nArgumenty i facty LTD",
"WhoisPhone":"+74957370601",
"WhoisRegInfo":"RU-CENTER-RU\nArgumenty i facty LTD\nRegional Network Information Center",
"Url":"",
"Whois":1,
"WhoisId":null,
"WhoisHistCount":0
}
<ArrayOfString>
<string>aif.ru</string>
<string>microsoft.com</string>
</ArrayOfString>
["aif.ru", "microsoft.com"]
<ArrayOfLinksItem>
<LinksItem>
<Url>aif.ru</Url>
<BuyLinks>1</BuyLinks>
</LinksItem>
<LinksItem>
<Url>microsoft.com</Url>
<BuyLinks>0</BuyLinks>
</LinksItem>
</ArrayOfLinksItem>
[
{
"Url":"aif.ru",
"BuyLinks":1
},
{
"Url":"microsoft.com",
"BuyLinks":0
}
]
<ArrayOfString>
<string>130.193.65.58</string>
<string>134.170.185.46</string>
</ArrayOfString>
["134.170.185.46", "130.193.65.58"]
<ArrayOfIpCountItem>
<IpCountItem>
<Address>134.170.185.46</Address>
<Count>132</Count>
</IpCountItem>
<IpCountItem>
<Address>130.193.65.58</Address>
<Count>158</Count>
</IpCountItem>
</ArrayOfIpCountItem>
[
{
"Address":"134.170.185.46",
"Count":132
},
{
"Address":"130.193.65.58",
"Count":158
}
]
<UserData>
<RdsAccountBalance>98.219610</RdsAccountBalance>
<RdsEmail>user@rds.com</RdsEmail>
</UserData>
{
"RdsAccountBalance":98.219610,
"RdsEmail":"user@rds.com"
}
<SiteItemCollectionOfCodeItem>
<Collection>
<CodeItem>
<Url>photoregion.ru</Url>
</CodeItem>
<CodeItem>
<Url>fan-t-asia.ru</Url>
</CodeItem>
<CodeItem>
<Url>fotoregion.ru</Url>
</CodeItem>
</Collection>
<CountAll>3</CountAll>
</SiteItemCollectionOfCodeItem>
{
"Collection":[
{
"Url":"photoregion.ru",
"CommercialCodes":null
},
{
"Url":"fan-t-asia.ru",
"CommercialCodes":null
},
{
"Url":"fotoregion.ru",
"CommercialCodes":null
}
],
"CountAll":3
}
<int>5</int>
5
<ArrayOfInitWmId>
<InitWmId>
<Url>forum.searchengines.ru</Url>
</InitWmId>
<InitWmId>
<Url>alex-press.ru</Url>
<MaxCount>2</MaxCount>
</InitWmId>
</ArrayOfInitWmId>
[
{
"Url":"forum.searchengines.ru",
"MaxCount":null
},
{
"Url":"alex-press.ru",
"MaxCount":2
}
]
<ArrayOfUrlWmIdsApiItem>
<UrlWmIdsApiItem>
<Url>forum.searchengines.ru</Url>
<WmIds>
<long>395480247803</long>
<long>162039862914</long>
</WmIds>
<ResultsCount>2</ResultsCount>
</UrlWmIdsApiItem>
<UrlWmIdsApiItem>
<Url>alex-press.ru</Url>
<WmIds>
<long>443488390692</long>
</WmIds>
<ResultsCount>1</ResultsCount>
</UrlWmIdsApiItem>
</ArrayOfUrlWmIdsApiItem>
[
{
"Url":"aif.ru",
"HistoryType":"CyHistory",
"OnlyDifferent":true,
"OnlyDates":false,
"HistoryItems":null,
"ResultsCount":2,
"State":"None"
},
{
"Url":"microsoft.com",
"HistoryType":"CyHistory",
"OnlyDifferent":true,
"OnlyDates":true,
"HistoryItems":null,
"ResultsCount":2,
"State":"None"
}
]
<ArrayOfHistoryInit>
<HistoryInit>
<Url>aif.ru</Url>
<HistoryType>CyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>false</OnlyDates>
<MaxCount>5</MaxCount>
<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>microsoft.com</Url>
<HistoryType>IyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>true</OnlyDates>
<MaxCount>5</MaxCount>
<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":"aif.ru",
"HistoryType":63,
"OnlyDates":false,
"OnlyDifferent":true,
"MaxCount":5,
"DatesVariety":{
"Dates":[
"\/Date(1323640800000+0300)\/",
"\/Date(1327356000000+0300)\/",
"\/Date(1324850400000+0300)\/"
],
"DatesThrough":[
{
"BeginDate":"\/Date(1319144400000+0300)\/",
"EndDate":"\/Date(1325541600000+0300)\/"
}
]
}
},
{
"Url":"microsoft.com",
"HistoryType":63,
"OnlyDates":true,
"OnlyDifferent":true,
"MaxCount":5,
"DatesVariety":{
"Dates":[
"\/Date(1324850400000+0300)\/",
"\/Date(1165874400000+0300)\/"
],
"DatesThrough":[
{
"BeginDate":"\/Date(1319144400000+0300)\/",
"EndDate":"\/Date(1325541600000+0300)\/"
}
]
}
}
]
<ArrayOfHistoryBulkResult>
<HistoryBulkResult>
<Url>aif.ru</Url>
<HistoryType>CyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>false</OnlyDates>
<HistoryItems>
<HistoryItem>
<Date>2011-12-09T16:44:00</Date>
<Value>11000</Value>
<Yaca>false</Yaca>
</HistoryItem>
<HistoryItem>
<Date>2011-11-07T13:20:00</Date>
<Value>11000</Value>
<Yaca>true</Yaca>
</HistoryItem>
</HistoryItems>
<ResultsCount>2</ResultsCount>
<State>None</State>
</HistoryBulkResult>
<HistoryBulkResult>
<Url>microsoft.com</Url>
<HistoryType>IyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>true</OnlyDates>
<HistoryItems>
<HistoryItem>
<Date>2012-01-03T22:43:00</Date>
<Value xsi:nil="true"/>
<Yaca xsi:nil="true"/>
</HistoryItem>
<HistoryItem>
<Date>2011-12-29T21:34:00</Date>
<Value xsi:nil="true"/>
<Yaca xsi:nil="true"/>
</HistoryItem>
<HistoryItem>
<Date>2011-12-26T12:53:00</Date>
<Value xsi:nil="true"/>
<Yaca xsi:nil="true"/>
</HistoryItem>
<HistoryItem>
<Date>2011-12-12T15:42:00</Date>
<Value xsi:nil="true"/>
<Yaca xsi:nil="true"/>
</HistoryItem>
<HistoryItem>
<Date>2011-12-07T17:27:00</Date>
<Value xsi:nil="true"/>
<Yaca xsi:nil="true"/>
</HistoryItem>
</HistoryItems>
<ResultsCount>5</ResultsCount>
<State>None</State>
</HistoryBulkResult>
</ArrayOfHistoryBulkResult>
[
{
"Url":"aif.ru",
"HistoryType":"CyHistory",
"OnlyDifferent":true,
"OnlyDates":false,
"HistoryItems":[
{
"Date":"Fri, 09 Dec 2011 14:44:00 GMT",
"Value":11000,
"Yac":false
},
{
"Date":"Mon, 07 Nov 2011 11:20:00 GMT",
"Value":11000,
"Yac":true
}
],
"ResultsCount":2,
"State":"None"
},
{
"Url":"microsoft.com",
"HistoryType":"CyHistory",
"OnlyDifferent":true,
"OnlyDates":true,
"HistoryItems":[
{
"Date":"Fri, 09 Dec 2011 14:29:00 GMT",
"Value":null,
"Yac":null
},
{
"Date":"Sat, 22 Oct 2011 18:03:00 GMT",
"Value":null,
"Yac":null
}
],
"ResultsCount":2,
"State":"None"
}
]
<ArrayOfHistoryInit>
<HistoryInit>
<Url>aif.ru</Url>
<HistoryType>CyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>false</OnlyDates>
<MaxCount>5</MaxCount>
<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>microsoft.com</Url>
<HistoryType>IyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>true</OnlyDates>
<MaxCount>5</MaxCount>
<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":"aif.ru",
"HistoryType":63,
"OnlyDates":false,
"OnlyDifferent":true,
"MaxCount":5,
"DatesVariety":{
"Dates":[
"\/Date(1323640800000+0300)\/",
"\/Date(1327356000000+0300)\/",
"\/Date(1324850400000+0300)\/"
],
"DatesThrough":[
{
"BeginDate":"\/Date(1319144400000+0300)\/",
"EndDate":"\/Date(1325541600000+0300)\/"
}
]
}
},
{
"Url":"microsoft.com",
"HistoryType":63,
"OnlyDates":true,
"OnlyDifferent":true,
"MaxCount":5,
"DatesVariety":{
"Dates":[
"\/Date(1324850400000+0300)\/",
"\/Date(1165874400000+0300)\/"
],
"DatesThrough":[
{
"BeginDate":"\/Date(1319144400000+0300)\/",
"EndDate":"\/Date(1325541600000+0300)\/"
}
]
}
}
]
<ArrayOfHistoryBulkResult>
<HistoryBulkResult>
<Url>aif.ru</Url>
<HistoryType>CyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>false</OnlyDates>
<ResultsCount>2</ResultsCount>
<State>None</State>
</HistoryBulkResult>
<HistoryBulkResult>
<Url>microsoft.com</Url>
<HistoryType>IyHistory</HistoryType>
<OnlyDifferent>true</OnlyDifferent>
<OnlyDates>true</OnlyDates>
<ResultsCount>5</ResultsCount>
<State>None</State>
</HistoryBulkResult>
</ArrayOfHistoryBulkResult>
[
{
"Url":"aif.ru",
"HistoryType":"CyHistory",
"OnlyDifferent":true,
"OnlyDates":false,
"HistoryItems":null,
"ResultsCount":2,
"State":"None"
},
{
"Url":"microsoft.com",
"HistoryType":"CyHistory",
"OnlyDifferent":true,
"OnlyDates":true,
"HistoryItems":null,
"ResultsCount":2,
"State":"None"
}
]
<ArrayOfInitWmId>
<InitWmId>
<Url>forum.searchengines.ru</Url>
</InitWmId>
<InitWmId>
<Url>alex-press.ru</Url>
<MaxCount>2</MaxCount>
</InitWmId>
</ArrayOfInitWmId>
["forum.searchengines.ru", "alex-press.ru"]
<ArrayOfUrlWmIdsApiItem>
<UrlWmIdsApiItem>
<Url>forum.searchengines.ru</Url>
<ResultsCount>2</ResultsCount>
</UrlWmIdsApiItem>
<UrlWmIdsApiItem>
<Url>alex-press.ru</Url>
<ResultsCount>1</ResultsCount>
</UrlWmIdsApiItem>
</ArrayOfUrlWmIdsApiItem>
[
{
"Url":"forum.searchengines.ru",
"WmIds":null,
"ResultsCount":2
},
{
"Url":"alex-press.ru",
"WmIds":null,
"ResultsCount":1
}
]
<ArrayOfInitWmId>
<InitWmId>
<Url>395480247803</Url>
</InitWmId>
<InitWmId>
<Url>443488390692</Url>
<MaxCount>1</MaxCount>
</InitWmId>
</ArrayOfInitWmId>
[
{
"Url":"395480247803"
},
{
"Url":"443488390692",
"MaxCount":1
}
]
<ArrayOfWmIdUrlsApiItem>
<WmIdUrlsApiItem>
<WmId>395480247803</WmId>
<Urls>
<string>forum.searchengines.ru</string>
</Urls>
<ResultsCount>1</ResultsCount>
</WmIdUrlsApiItem>
<WmIdUrlsApiItem>
<WmId>443488390692</WmId>
<Urls>
<string>alex-press.ru</string>
</Urls>
<ResultsCount>1</ResultsCount>
</WmIdUrlsApiItem>
</ArrayOfWmIdUrlsApiItem>
[
{
"WmId":395480247803,
"Urls":[
"forum.searchengines.ru"
],
"ResultsCount":1
},
{
"WmId":443488390692,
"Urls":[
"alex-press.ru"
],
"ResultsCount":1
}
]
<ArrayOfLong>
<long>395480247803</long>
<long>443488390692</long>
</ArrayOfLong>
["395480247803", "443488390692"]
<ArrayOfWmIdUrlsApiItem>
<WmIdUrlsApiItem>
<WmId>395480247803</WmId>
<ResultsCount>1</ResultsCount>
</WmIdUrlsApiItem>
<WmIdUrlsApiItem>
<WmId>443488390692</WmId>
<ResultsCount>1</ResultsCount>
</WmIdUrlsApiItem>
</ArrayOfWmIdUrlsApiItem>
[
{
"WmId":395480247803,
"ResultsCount":1
},
{
"WmId":443488390692,
"ResultsCount":1
}
]
<ArrayOfString>
<string>habrahabr.com</string>
<string>habrahabr.net</string>
<string>habrahabr.org</string>
</ArrayOfString>
["habrahabr.com", "habrahabr.net", "habrahabr.org"]