Как да получим информация за домейн , чрез XMLRPC и PHP
Теория
XML-RPC е протокол за отдалечено извикване на процедури, който използва HTTP за транспорт, а тялото на съобщението е в XML формат. Накратко казано, това е POST заявка с XML тяло
Ето и малък пример за горното:
Заявка
XML
<?xml version=”1.0”?>
<methodCall>
<methodName>spisanie.getrank</methodName>
<params>
<param>
<value><string>http://spisanie.com</string></valie>
</param>
</params.
</methodCall>
Отговор
XML
<?xml version=”1.0”?>
<methodResponse>
<params>
<param>
<value><string>PageRank: 5</string></valie>
</param>
</params>
</methodResponse>Настройка на системата.
Има много пакети за РНР, но аз предпочитам един, които съм направил с малка модификация на пакета на Кейт Девънс. Модифицирания пакет, заедно с кода на тази статия можете да свалите от тук:
http://spisanie.com/downloads.php (намира се в секция РНР)
Инсталация
Нямате нужда от нищо друго, само разархивирайте пакета в директория на сървъра си.- примерно XML. Трябва да се получи следната структура:
service.php
index.php
service.php е модифицирания файл, който ще си комуникира с XML-RPC сървъра и ще обработва комуникацията от типа по-горе (само в XML) до разбираем за обработка (е PHP променливи).
index.php – e файлът който извиква услугата за намиране на информация за името на домейна (whois)
Код
Нека да разгледаме код-а на index.php
<?php
require('service.php');
$url="spisanie.cc";
$s = XMLRPC_request("spisanie.com", "/RPC/", "spisanie.whois", array(XMLRPC_prepare($url)));
echo "<pre>".$s[1]."</pre>";
?>
1.Вмъкване, необходимият ни за обработката файл service.php
2.Задаваме стойност на променлива, която в последствие ще подадем на функция. Стойността е името на домейна за който искаме информация
3.Изпълняваме заявката , чрез функцията. Заявката като XML, можем да видим в началото на материала. Забележете, че се отнася до друга услуга, но структурата е същата.
Функцията XMLRPC_request има следните параметри:
- URL на XMLRPC сървъра, който извършва услугата
- Път до директорията на сървъра
- Име на услугата (уникално за всяка услуга)
- Параметри на услугата (в случая името на домейна)
Резултатът е във вид на масив, като елементите са следните:
- Статут на изпълнението на заявката
- Резултат
В случая ни е необходим втория елемент на масива.
Резултатът извежда данните на дадения домейн.
Интересно
За разлика от други услуги, Сървъра предлага много добра поддръжка за имената в .bg областта.


