|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Hi im trying to connect to Nominets EPP server
Details can be found here http://www.nominet.org.uk/registrars/systems/epp/ Im trying to send a login request the example can be found here http://www.nominet.org.uk/registrars/systems/epp/login/ My script seems to connect ok, but im recieving no response when I try to send the login xml details. <? $fp = @fsockopen('ssl://testbed-epp.nominet.org.uk', 700, $errno, $errstr, 100); echo "(".$errno." ".$errstr.")"; if(!$fp) { echo "Not Connected!"; } else { echo "Connected!\r\n"; $xml = '<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> <command> <login> <clID>EXAMPLE-TAG</clID> <pw>foo-BAR2</pw> <options> <version>1.0</version> <lang>en</lang> </options> <svcs> <objURI>http://www.nominet.org.uk/epp/xml/nom-account-1.0 </objURI> <objURI>http://www.nominet.org.uk/epp/xml/nom-domain-1.0</objURI> <objURI>http://www.nominet.org.uk/epp/xml/nom-contact-1.0 </objURI> <objURI>http://www.nominet.org.uk/epp/xml/nom-ns-1.0</objURI> </svcs> </login> <clTRID>ABC-12345</clTRID> </command> </epp>'; fputs($fp, $xml, strlen($xml)); while (!feof($fp)) { $response .= fgets($fp, 128); } echo $response; fclose($fp); } ?> |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
don't forget to send the 4 bytes!
Alan Willsher schreef: > Hi im trying to connect to Nominets EPP server > > Details can be found here http://www.nominet.org.uk/registrars/systems/epp/ > > Im trying to send a login request the example can be found here > http://www.nominet.org.uk/registrars/systems/epp/login/ > > My script seems to connect ok, but im recieving no response when I try to > send the login xml details. > > > <? > $fp = @fsockopen('ssl://testbed-epp.nominet.org.uk', 700, $errno, $errstr, > 100); > echo "(".$errno." ".$errstr.")"; > if(!$fp) { > echo "Not Connected!"; > } > > else { > echo "Connected!\r\n"; > > $xml = '<?xml version="1.0" encoding="UTF-8"?> > <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> > <command> > <login> > <clID>EXAMPLE-TAG</clID> > <pw>foo-BAR2</pw> > <options> > <version>1.0</version> > <lang>en</lang> > </options> > <svcs> > <objURI>http://www.nominet.org.uk/epp/xml/nom-account-1.0 > </objURI> > <objURI>http://www.nominet.org.uk/epp/xml/nom-domain-1.0</objURI> > <objURI>http://www.nominet.org.uk/epp/xml/nom-contact-1.0 > </objURI> > <objURI>http://www.nominet.org.uk/epp/xml/nom-ns-1.0</objURI> > </svcs> > </login> > <clTRID>ABC-12345</clTRID> > </command> > </epp>'; > > fputs($fp, $xml, strlen($xml)); > > while (!feof($fp)) { > $response .= fgets($fp, 128); > } > echo $response; > > fclose($fp); > > } > ?> > |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
What is 4 bytes ?
On Thu, Apr 10, 2008 at 3:35 PM, Paul van Brouwershaven < paul@vanbrouwershaven.com> wrote: > don't forget to send the 4 bytes! > > Alan Willsher schreef: > > Hi im trying to connect to Nominets EPP server > > > > Details can be found here > > http://www.nominet.org.uk/registrars/systems/epp/ > > > > Im trying to send a login request the example can be found here > > http://www.nominet.org.uk/registrars/systems/epp/login/ > > > > My script seems to connect ok, but im recieving no response when I try > > to > > send the login xml details. > > > > > > <? > > $fp = @fsockopen('ssl://testbed-epp.nominet.org.uk', 700, $errno, > > $errstr, > > 100); > > echo "(".$errno." ".$errstr.")"; > > if(!$fp) { > > echo "Not Connected!"; > > } > > > > else { > > echo "Connected!\r\n"; > > > > $xml = '<?xml version="1.0" encoding="UTF-8"?> > > <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> > > <command> > > <login> > > <clID>EXAMPLE-TAG</clID> > > <pw>foo-BAR2</pw> > > <options> > > <version>1.0</version> > > <lang>en</lang> > > </options> > > <svcs> > > <objURI>http://www.nominet.org.uk/epp/xml/nom-account-1.0 > > </objURI> > > <objURI>http://www.nominet.org.uk/epp/xml/nom-domain-1.0 > > </objURI> > > <objURI>http://www.nominet.org.uk/epp/xml/nom-contact-1.0 > > </objURI> > > <objURI>http://www.nominet.org.uk/epp/xml/nom-ns-1.0</objURI> > > </svcs> > > </login> > > <clTRID>ABC-12345</clTRID> > > </command> > > </epp>'; > > > > fputs($fp, $xml, strlen($xml)); > > > > while (!feof($fp)) { > > $response .= fgets($fp, 128); > > } > > echo $response; > > > > fclose($fp); > > > > } > > ?> > > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
epp-example from dns.be:
<?php //============================================ function mod ($a, $b) { return $a % $b; } //============================================ class EppSocket { var $fp = null; function EppSocket() { } function connect($addr, $port, $timeout) { $this->fp = fsockopen ($addr, $port , $errno, $errstr, $timeout); return 0; } function readInteger() { $buf = fread($this->fp, 4); if (strlen($buf) < 4) { echo "failed to read 4 bytes \n"; exit; } $b0 = ord($buf[0]); $b1 = ord($buf[1]); $b2 = ord($buf[2]); $b3 = ord($buf[3]); $value = $b3 + 256* ($b2 + 256* ($b1 + 256* $b0)); echo "integer read from socket: $value \n"; return $value; } function readString ($bytes) { echo "waiting for $bytes bytes\n"; $left = $bytes; $data = ''; while ( !feof($this->fp) ) { $chunk = fread($this->fp, $left); $data .= $chunk; $left = $left - strlen($chunk); if ($left == 0) break; } return $data; } function readEppString() { $len = $this->readInteger(); $len = $len - 4; return $this->readString ($len); } function close() { fclose ($this->fp); } // this will fail for values bigger than 0x7FFFFFFF (since PHP sucks at math) // on Windows: PHP thinks that 0xFFFFFFFE modulo 256 = 256 !?! // on Linux : PHP thinks that 0xFFFFFFFE modulo 256 = -2 !?! function writeInteger ($value) { $b3 = mod ($value, 256); $value = ($value - $b3)/256; $b2 = mod ($value, 256); $value = ($value - $b2)/256; $b1 = mod ($value, 256); $value = ($value - $b1)/256; $b0 = mod ($value, 256); echo "$value split up in bytes : $b0 $b1 $b2 $b3 \n"; fwrite ($this->fp, chr($b0), 1); fwrite ($this->fp, chr($b1), 1); fwrite ($this->fp, chr($b2), 1); fwrite ($this->fp, chr($b3), 1); } function writeEppString ($message) { $len = strlen ($message); echo "len: $len \n"; $len = $len + 4; echo "total message length: $len bytes \n"; $this->writeInteger ($len); echo "writing message itself \n"; $written = fwrite ($this->fp, $message); echo "bytes written: $written \n"; } } //================================================== === { $socket = new EppSocket(); $server = "ssl://epp.example.org"; // replace with hostname of your registry's epp server $port = 33123; $timeout = 30; $ok = $socket->connect ($server, $port, $timeout); if ( $ok != 0) { echo "failed to connect to $server, check server name !!"; exit; } echo "ok, connected to $server at port $port\n"; $greeting = $socket->readEppString(); echo "=====================\n"; echo "$greeting "; echo "=====================\n"; $hello = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><epp xmlns=\"urn:ietf:params:xml:ns:epp-1.0\"> <hello/></epp>"; $socket->writeEppString ($hello); echo "waiting for reply \n"; $response = $socket->readEppString(); echo "=====================\n"; echo "$response "; echo "=====================\n"; $garbage = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><epp xmlns=\"urn:ietf:params:xml:ns:epp-1.0\"> <garbage/></epp>"; $socket->writeEppString ($garbage); $response = $socket->readEppString(); echo "=====================\n"; echo "$response "; echo "=====================\n"; $socket->close(); } ?> Alan Willsher schreef: > What is 4 bytes ? > > On Thu, Apr 10, 2008 at 3:35 PM, Paul van Brouwershaven < > paul@vanbrouwershaven.com> wrote: > >> don't forget to send the 4 bytes! >> >> Alan Willsher schreef: >> >> Hi im trying to connect to Nominets EPP server >>> Details can be found here >>> http://www.nominet.org.uk/registrars/systems/epp/ >>> >>> Im trying to send a login request the example can be found here >>> http://www.nominet.org.uk/registrars/systems/epp/login/ >>> >>> My script seems to connect ok, but im recieving no response when I try >>> to >>> send the login xml details. >>> >>> >>> <? >>> $fp = @fsockopen('ssl://testbed-epp.nominet.org.uk', 700, $errno, >>> $errstr, >>> 100); >>> echo "(".$errno." ".$errstr.")"; >>> if(!$fp) { >>> echo "Not Connected!"; >>> } >>> >>> else { >>> echo "Connected!\r\n"; >>> >>> $xml = '<?xml version="1.0" encoding="UTF-8"?> >>> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>> xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> >>> <command> >>> <login> >>> <clID>EXAMPLE-TAG</clID> >>> <pw>foo-BAR2</pw> >>> <options> >>> <version>1.0</version> >>> <lang>en</lang> >>> </options> >>> <svcs> >>> <objURI>http://www.nominet.org.uk/epp/xml/nom-account-1.0 >>> </objURI> >>> <objURI>http://www.nominet.org.uk/epp/xml/nom-domain-1.0 >>> </objURI> >>> <objURI>http://www.nominet.org.uk/epp/xml/nom-contact-1.0 >>> </objURI> >>> <objURI>http://www.nominet.org.uk/epp/xml/nom-ns-1.0</objURI> >>> </svcs> >>> </login> >>> <clTRID>ABC-12345</clTRID> >>> </command> >>> </epp>'; >>> >>> fputs($fp, $xml, strlen($xml)); >>> >>> while (!feof($fp)) { >>> $response .= fgets($fp, 128); >>> } >>> echo $response; >>> >>> fclose($fp); >>> >>> } >>> ?> >>> >>> >> -- >> PHP General Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> > |
|
![]() |
| Outils de la discussion | |
|
|