2017-02-22 81 views
0

我需要.NL登記處的工作 - sidn.nl - 通過他們的EPP API。我使用標準EPP HELLO,添加4個字節的消息大小(大端),調用CURL - 無標題,無數據返回。代碼:EPP服務器不響應EPP HELLO

var epp_hello = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>'+ 
    '<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">'+ 
    ' <hello/>'+ 
    '</epp>'; // EPP HELLO 
var xml = bigEndian(epp_hello)+""; // big endian 
curl.setOpt(Curl.option.URL, "drs.domain-registry.nl"); 
curl.setOpt(Curl.option.PORT, 700); 
curl.setOpt(Curl.option.POST, 1); 
curl.setOpt(Curl.option.HEADER, true); 
curl.setOpt(Curl.option.POSTFIELDS, xml); 
curl.setOpt(Curl.option.HTTPHEADER , ['Content-type: text/xml']); 
curl.setOpt(Curl.option.TIMEOUT , 180); 
curl.setOpt(Curl.option.SSL_VERIFYPEER, true); 
curl.setOpt(Curl.option.SSL_VERIFYHOST, false); 
curl.perform(); 

我的IP在控制面板中被列入白名單。

爲什麼它不響應?它應該是EPP GREETING。 他們的技術支持也沒用,發過來鏈接到標準手動:-)

預先感謝任何幫助/諮詢!

UPDATE:當通過TCP(而不是捲曲)調用的結果幾乎是相同的:

var epp_hello = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>'+ 
        '<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"><hello/></epp>'; 
    var xml = bigEndian(epp_hello); 
    var ddd = new Date(); 

    var client = new net.Socket(); 
    client.connect(700, "drs.domain-registry.nl", function(xxml) { 
     console.log('Connected ' + ddd.toUTCString(),xxml); 
     client.write(xxml); 
    }.bind(null,xml)); 

    client.on('data', function(data) { 
     console.log('Received: ' + data); 
     client.destroy(); 
    }); 

    client.on('close', function() { 
     console.log('Connection closed'); 
    }); 

傳出請求:

Connected Thu, 23 Feb 2017 01:55:48 GMT <Buffer 00 00 00 74 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 55 54 46 2d 38 22 20 73 74 61 6e 64 61 6c 6f 6e ... > 
Connection closed 
Connected Thu, 23 Feb 2017 01:55:52 GMT <Buffer 00 00 00 74 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 55 54 46 2d 38 22 20 73 74 61 6e 64 61 6c 6f 6e ... > 
Connection closed 
Connected Thu, 23 Feb 2017 01:55:56 GMT <Buffer 00 00 00 74 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 55 54 46 2d 38 22 20 73 74 61 6e 64 61 6c 6f 6e ... > 
Connection closed 

服務器返回的數據,連接被在第二秒關閉

回答

0

使用tls代替網絡解決:

const epp_hello = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>'+ 
       '<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"><hello/></epp>'; 

const opts = { 
}; 
var xml = bigEndian(epp_hello); 
var client = tls.connect(700, "drs.domain-registry.nl", opts, function(xxml) { 
    client.write(xxml); 
}.bind(null,xml)); 

client.on('data', function(data) { 
    console.log('Received: ' + data); 
}); 

收到EPP問候