Помогите разобраться с api для регистрации доменов

(Ответов: 4, Просмотров: 1277)
  1. Опытный Аватар для Gunkin
    • Регистрация: 20.09.2012
    • Сообщений: 251
    • Репутация: 29
    • Webmoney BL: ?
    Друзья, помогите разобраться с api интерфейсом от dnr.kz

    Последний раз имел дело с api от Estdomains в далеком 2008 - там было все намного проще - вбивал список нужных доменов в php и через браузер отправлял запрос. Судя по всему прогресс совершил резкий скачок, уже голову сломал как сделать запрос на проверку домена на занятость и запрос на регистрацию домена.

    Вот документация по api от dnr - _https://support.dnr.kz/Knowledgebase/List/Index/18/integrcija-api
    Ну и собственно API версия 2 пример под спойлером:

    1


    <?php

    /*
    DNR.KZ DOMAIN REGISTRATION APPLICATION PROGRAMMING INTERFACE CALLS EXAMPLES

    THIS FILE IS PROVIDED FOR DEMONSTRATION USE ONLY WITHOUT ANY WARRANTY, EXPLICIT OR
    IMPLIED. SKILLTEX IS NOT RESPONSIBLE OF ANY CONSEQUENCES THAT FOLLOW USAGE OF THIS
    FILE.

    MAINTAINER: SERGEY SHEVCHENKO <S.SHEVCHENKO@SKILLTEX.KZ>

    */

    //CONSTANTS REQUIRED FOR AUTHENTICATION
    define("DNRAPI2_URL","https://www.dnr.kz/api/"); //REQUIRED
    define("DNRAPI2_USER","MYDNRLOGIN"); //REQUIRED
    define("DNRAPI2_PASS","myDnRpAssW0rd"); //REQUIRED

    //BEGIN REMOVABLE BLOCK
    //FOLLOWING CODE UNTIL 'END REMOVABLE BLOCK' CAN BE REMOVED FOR PRODUCTION use
    //THIS CODE IS FOR DEMONSTRATION ONLY

    $commonns = array('ns4.skilltex.kz','ns3.skilltex.kz');
    $commonContact = array(
    'name'=>'Ivanov Ivan Ivanovich',
    'org'=>'Roga i kopyta',
    'sp'=>'Abu-dabi',
    'cc'=>'EU',
    'city'=>'Almaty',
    'street'=>'34 Zelenuh pochatkov str',
    'voice'=>'+7.63444278433',
    'fax'=>'+7.434565345345',
    'email'=>'null@dnr.kz',
    );


    echo "\n".__LINE__."\n";
    print_r( api2List());
    echo "\n".__LINE__."\n";
    print_r( api2Check(array('foo.kz','bar.kz','skilltex.kz','sdsdsdsdsde4444.kz','nic.kz')) );
    echo "\n".__LINE__."\n";

    $dname = rand(0,1000).'delete-me-now.kz';
    $hname = 'foo.'.$dname;
    $hip = '1.2.3.4';
    print_r( api2Create( $dname, 1, $commonContact, $commonns)); //Create domain
    echo "\n".__LINE__."\n";
    print_r( api2Info($dname));
    echo "\n".__LINE__."\n";
    print_r( api2HostInfo($hname));
    echo "\n".__LINE__."\n";
    print_r( api2HostCreate($hname,array('1.1.2.3')));
    echo "\n".__LINE__."\n";
    print_r( api2HostInfo($hname));
    echo "\n".__LINE__."\n";
    print_r( api2HostUpdate($hname,array('1.2.3.4','2.3.4.5')));
    echo "\n".__LINE__."\n";
    print_r( api2HostInfo($hname));

    echo "\n".__LINE__."\n";
    print_r( api2Delete($dname)); //remove this domain
    echo "\n".__LINE__."\n";

    //END REMOVABLE BLOCK




    //DO NOT EDIT BELOW THIS LINE

    function api2HostInfo($host){
    return api2Call('infoHost', array('object'=>$host) );
    }

    function api2HostCreate($host,$iplist){
    return api2Call('createHost', array('object'=>$host, 'addrs' => $iplist) );
    }

    function api2HostUpdate($host,$iplist){
    return api2Call('updateHost', array('object'=>$host, 'addrs' => $iplist) );
    }

    function api2HostDelete($host){
    return api2Call('deleteHost', array('object'=>$host) );
    }

    function api2HostList(){
    return api2Call('listHost');
    }

    function api2List(){
    return api2Call('listDomain');
    }

    function api2Renew($domain, $period){
    return api2Call('renewDomain', array('object'=>$domain,'period'=>$period) );
    }

    function api2Create($domain, $period, $owner,$ns = array() ){
    $data = array( "object"=>$domain,
    "period"=>$period
    );
    $data["owner"] = array(
    "name"=>$owner['name'],
    "org"=>$owner['org'],
    "sp"=>$owner['sp'],
    "cc"=>$owner['cc'],
    "city"=>$owner['city'],
    "street"=>$owner['street'],
    "voice"=>$owner['voice'],
    "fax"=>$owner['fax'],
    "email"=>$owner['email']
    );

    $data['ns'] = $ns;
    return api2Call("createDomain",$data);
    }

    function api2Update($domain, $ns, $owner = array()){
    $data = array("object"=>$domain);
    if(!empty($owner)) {
    $data["owner"] = array(
    "name"=>$owner['name'],
    "org"=>$owner['org'],
    "sp"=>$owner['sp'],
    "cc"=>$owner['cc'],
    "city"=>$owner['city'],
    "street"=>$owner['street'],
    "voice"=>$owner['voice'],
    "fax"=>$owner['fax'],
    "email"=>$owner['email']
    );
    }
    $data['ns'] = $ns;


    return api2Call('updateDomain',$data);
    }

    function api2Info($domain){
    return api2Call('infoDomain', array("object"=>$domain) );
    }

    function api2Delete($domain){
    return api2Call('deleteDomain', array("object"=>$domain) );
    }

    function api2Check($domains){
    return api2Call('checkDomain',array('domains'=>$domains));
    }

    function api2Call($cmd,$calldata = array()){

    $ch = curl_init();
    $reqdata = array('username'=>DNRAPI2_USER, 'password'=>DNRAPI2_PASS) + $calldata;
    $data = '';
    foreach($reqdata as $cv => $cd){
    if(!is_array($cd))
    $data .= "&$cv=".urlencode($cd);
    else
    foreach($cd as $k=>$cdx)
    $data .= "&$cv"."[$k]=".urlencode($cdx);
    }
    curl_setopt ($ch, CURLOPT_URL, DNRAPI2_URL."$cmd.json");

    curl_setopt ($ch, CURLOPT_HEADER, 0);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt ($ch, CURLOPT_POST,true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $xml = curl_exec ($ch);
    curl_close ($ch);

    return $xml;
    }
    ?>
    [свернуть]


    Буду рад если поможете.
    • 0
  2. Студент
    • Регистрация: 24.10.2012
    • Сообщений: 78
    • Репутация: 7
    print_r( api2Check(array('foo.kz','bar.kz','skilltex.kz','s dsdsdsdsde4444.kz','nic.kz')) );
    там же в примерах всё есть

    https://support.dnr.kz/Knowledgebase...rimery-vyzovov
    http://opendevelopers.ru мой маленький проектик )
    • 0
  3. Опытный Аватар для Gunkin
    • Регистрация: 20.09.2012
    • Сообщений: 251
    • Репутация: 29
    • Webmoney BL: ?
    То что выше ниже этой строки надо удалить или как?
    • 0
  4. Студент
    • Регистрация: 24.10.2012
    • Сообщений: 78
    • Репутация: 7
    Gunkin,смотри, это тестовые данные в примере их соотвественно надо удалить, а тут
    PHP код:
    $commonContact = array(
                    
    'name'=>'Ivanov Ivan Ivanovich',
                    
    'org'=>'Roga i kopyta',
                    
    'sp'=>'Abu-dabi',
                    
    'cc'=>'EU',
                    
    'city'=>'Almaty',
                    
    'street'=>'34 Zelenuh pochatkov str',
                    
    'voice'=>'+7.63444278433',
                    
    'fax'=>'+7.434565345345',
                    
    'email'=>'null@dnr.kz',
                ); 
    надо вставть своё и всё должно заработать

    там написано REMOVABLE BLOCK этот блок удаляй
    Последний раз редактировалось l3x; 08.04.2013 в 21:46.
    http://opendevelopers.ru мой маленький проектик )
    • 0
  5. Опытный Аватар для Gunkin
    • Регистрация: 20.09.2012
    • Сообщений: 251
    • Репутация: 29
    • Webmoney BL: ?
    Не работает.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Сервис регистрации доменов
Реклама партнерских программ 0 13.08.2010 06:34
Фирма domainmonster представляет свои услуги регистрации доменов
Реклама партнерских программ 6 04.05.2010 21:01
Новые правила регистрации RU доменов
Партнерские программы 14 10.02.2010 16:34
Разъяснения по регистрации ru доменов по паспорту
Хостинг и Серверы 0 15.09.2009 21:55

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры