регистратор reg api2

Тема в разделе "PHP", создана пользователем Savok32, 27 мар 2014.

  1. Savok32

    Savok32

    Регистрация:
    18 дек 2012
    Сообщения:
    331
    Симпатии:
    51
    Подскажите люди добрые, как чрез reg Api2 вывести на сайт форму для проверки доменов?
     
  2. Savok32

    Savok32

    Регистрация:
    18 дек 2012
    Сообщения:
    331
    Симпатии:
    51
    вот скрипт, пока что удалось нарыть, и сделать..

    показывает свободный или же занятый домен.....

    не догоню как форму сделать, чтобы можно из формы домен вводить


    Код:
        <?
        class RegApiException extends Exception {
            const UNSPACIFIED_FORMAT = 1;
        }
        
        class RegApi {
        
            const INPUT_FORMAT_OBJECT = 1;
            const INPUT_FORMAT_ARRAY = 2;
        
            public $domain = '';
            public $username = 'test';
            public $password = 'test';
        
            private $_url = 'https://api.reg.ru/api/regru2/domain/check';
            private $_rgInputFormats = array(
                self::INPUT_FORMAT_OBJECT => 'json',
                self::INPUT_FORMAT_ARRAY  => 'json'
            );
        
            /**
             * @param string $domain
             * @param string $username
             * @param string $password
             */
            public function __construct(
                $domain = '', $username = 'test', $password = 'test'
            )
            {
                $this->domain = $domain;
                $this->username = $username;
                $this->password = $password;
            }
        
            /**
             * @param int $format
             * @return mixed|string
             * @throws RegApiException
             */
            public function getData($format = self::INPUT_FORMAT_OBJECT)
            {
                if(!array_key_exists($format, $this->_rgInputFormats))
                {
                    throw new RegApiException(
                        'Неопределённый формат!',
                        RegApiException::UNSPACIFIED_FORMAT
                    );
                }
        
                $inputData = array('domains' => array(
                    array('dname' => $this->domain)
                ));
        
                $params = array(
                    'username'     => $this->username,
                    'password'     => $this->password,
                    'input_format' => $this->_rgInputFormats[$format],
                    'input_data'   => json_encode($inputData)
                );
        
                $data = file_get_contents(
                    $this->_url . '?' . http_build_query($params)
                );
        
                switch($format)
                {
                    case(self::INPUT_FORMAT_OBJECT) :
                        $data = json_decode($data);
                        break;
        
                    case(self::INPUT_FORMAT_ARRAY) :
                        $data = json_decode($data, true);
                        break;
                }
        
                return $data;
            }
        }
       
       
       
       
       
       
       
            $regApi = new RegApi('ya.ru');
        $rgData = $regApi->getData(RegApi::INPUT_FORMAT_OBJECT);
        
        foreach($rgData->answer->domains as $domainData) {
            echo $domainData->dname, ', ', $domainData->result, '<br>';
        }
        ?>