
<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://doc.openprovider.eu/skins/common/feed.css?207"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://doc.openprovider.eu/index.php?action=history&amp;feed=atom&amp;title=Example_Script_EPP_PHP</id>
		<title>Example Script EPP PHP - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://doc.openprovider.eu/index.php?action=history&amp;feed=atom&amp;title=Example_Script_EPP_PHP"/>
		<link rel="alternate" type="text/html" href="https://doc.openprovider.eu/index.php?title=Example_Script_EPP_PHP&amp;action=history"/>
		<updated>2026-04-22T12:30:19Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.15.2</generator>

	<entry>
		<id>https://doc.openprovider.eu/index.php?title=Example_Script_EPP_PHP&amp;diff=1780&amp;oldid=prev</id>
		<title>WikiSysop at 04:55, 5 November 2019</title>
		<link rel="alternate" type="text/html" href="https://doc.openprovider.eu/index.php?title=Example_Script_EPP_PHP&amp;diff=1780&amp;oldid=prev"/>
				<updated>2019-11-05T04:55:01Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 04:55, 5 November 2019&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 159:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 159:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;nbsp; function buildCookie ($data) {&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;nbsp; function buildCookie ($data) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;  if(is_array($data)) {&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;  if(is_array($data)) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $cookie = &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $cookie = &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[]&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  foreach($data as $d) {&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  foreach($data as $d) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $cookie[] = $d['value']['key'].'='.$d['value']['value'];&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  $cookie[] = $d['value']['key'].'='.$d['value']['value'];&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff generator: internal 2026-04-22 12:30:19 --&gt;
&lt;/table&gt;</summary>
		<author><name>WikiSysop</name></author>	</entry>

	<entry>
		<id>https://doc.openprovider.eu/index.php?title=Example_Script_EPP_PHP&amp;diff=633&amp;oldid=prev</id>
		<title>WikiSysop:&amp;#32;Created page with ' &lt;?php    $url = 'https://epp.cte.openprovider.eu';  $username = &quot;&quot;;  $password = &quot;&quot;;    $result = send(      [          'url' =&gt; $url,          'content' =&gt; '&lt;?xml version=&quot;1.0&quot;…'</title>
		<link rel="alternate" type="text/html" href="https://doc.openprovider.eu/index.php?title=Example_Script_EPP_PHP&amp;diff=633&amp;oldid=prev"/>
				<updated>2014-04-19T06:23:35Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;#39; &amp;lt;?php    $url = &amp;#39;https://epp.cte.openprovider.eu&amp;#39;;  $username = &amp;quot;&amp;quot;;  $password = &amp;quot;&amp;quot;;    $result = send(      [          &amp;#39;url&amp;#39; =&amp;gt; $url,          &amp;#39;content&amp;#39; =&amp;gt; &amp;#39;&amp;lt;?xml version=&amp;quot;1.0&amp;quot;…&amp;#39;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; &amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
 $url = 'https://epp.cte.openprovider.eu';&lt;br /&gt;
 $username = &amp;quot;&amp;quot;;&lt;br /&gt;
 $password = &amp;quot;&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 $result = send(&lt;br /&gt;
     [&lt;br /&gt;
         'url' =&amp;gt; $url,&lt;br /&gt;
         'content' =&amp;gt; '&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&lt;br /&gt;
         &amp;lt;epp xmlns=&amp;quot;urn:ietf:params:xml:ns:epp-1.0&amp;quot;&lt;br /&gt;
              xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
              xsi:schemaLocation=&amp;quot;urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;command&amp;gt;&lt;br /&gt;
                 &amp;lt;login&amp;gt;&lt;br /&gt;
                     &amp;lt;clID&amp;gt;'.$username.'&amp;lt;/clID&amp;gt;&lt;br /&gt;
                     &amp;lt;pw&amp;gt;'.$password.'&amp;lt;/pw&amp;gt;&lt;br /&gt;
                     &amp;lt;options&amp;gt;&lt;br /&gt;
                         &amp;lt;version&amp;gt;1.0&amp;lt;/version&amp;gt;&lt;br /&gt;
                         &amp;lt;lang&amp;gt;en&amp;lt;/lang&amp;gt;&lt;br /&gt;
                     &amp;lt;/options&amp;gt;&lt;br /&gt;
                     &amp;lt;svcs&amp;gt;&lt;br /&gt;
                         &amp;lt;objURI&amp;gt;urn:ietf:params:xml:ns:domain-1.0&amp;lt;/objURI&amp;gt;&lt;br /&gt;
                         &amp;lt;objURI&amp;gt;urn:ietf:params:xml:ns:contact-1.0&amp;lt;/objURI&amp;gt;&lt;br /&gt;
                         &amp;lt;svcExtension&amp;gt;&lt;br /&gt;
                             &amp;lt;extURI&amp;gt;http://www.openprovider.nl/epp/xml/opprov-1.0&amp;lt;/extURI&amp;gt;&lt;br /&gt;
                         &amp;lt;/svcExtension&amp;gt;&lt;br /&gt;
                     &amp;lt;/svcs&amp;gt;&lt;br /&gt;
                 &amp;lt;/login&amp;gt;&lt;br /&gt;
                 &amp;lt;clTRID&amp;gt;83EE2B34-2385-11DE-9267-8000000019CB&amp;lt;/clTRID&amp;gt;&lt;br /&gt;
             &amp;lt;/command&amp;gt;&lt;br /&gt;
         &amp;lt;/epp&amp;gt;',&lt;br /&gt;
     ],&lt;br /&gt;
     $out&lt;br /&gt;
 );&lt;br /&gt;
 $doc = new DomDocument();&lt;br /&gt;
 $doc-&amp;gt;loadXML($result);&lt;br /&gt;
 $xpath = new DomXpath($doc);&lt;br /&gt;
 $node = $xpath-&amp;gt;query(&amp;quot;//*[local-name()='response']/*[local-name()='result']/@code&amp;quot;);&lt;br /&gt;
 $code = $node-&amp;gt;item(0)-&amp;gt;nodeValue;&lt;br /&gt;
 if (1000 != $code) {&lt;br /&gt;
     die(&amp;quot;Bad login/password&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 $cookies = $out['cookies'];&lt;br /&gt;
 $result = send(&lt;br /&gt;
     [&lt;br /&gt;
         'url' =&amp;gt; $url,&lt;br /&gt;
         'content' =&amp;gt; '&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&lt;br /&gt;
             &amp;lt;epp xmlns=&amp;quot;urn:ietf:params:xml:ns:epp-1.0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;command&amp;gt;&lt;br /&gt;
                     &amp;lt;check&amp;gt;&lt;br /&gt;
                         &amp;lt;domain:check xmlns:domain=&amp;quot;urn:ietf:params:xml:ns:domain-1.0&amp;quot;&amp;gt;&lt;br /&gt;
                             &amp;lt;domain:name&amp;gt;example.net&amp;lt;/domain:name&amp;gt;&lt;br /&gt;
                             &amp;lt;domain:name&amp;gt;this-example-does-not-exist-1691.org&amp;lt;/domain:name&amp;gt;&lt;br /&gt;
                         &amp;lt;/domain:check&amp;gt;&lt;br /&gt;
                     &amp;lt;/check&amp;gt;&lt;br /&gt;
                     &amp;lt;clTRID&amp;gt;83EE2B34-2385-11DE-9267-8000000019CC&amp;lt;/clTRID&amp;gt;&lt;br /&gt;
                 &amp;lt;/command&amp;gt;&lt;br /&gt;
             &amp;lt;/epp&amp;gt;',&lt;br /&gt;
         'cookies' =&amp;gt; $cookies,&lt;br /&gt;
     ]&lt;br /&gt;
 );&lt;br /&gt;
 &lt;br /&gt;
 var_dump($result);&lt;br /&gt;
 &lt;br /&gt;
 $result = send(&lt;br /&gt;
     [&lt;br /&gt;
         'url' =&amp;gt; $url,&lt;br /&gt;
         'content' =&amp;gt; '&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
             &amp;lt;epp xmlns=&amp;quot;urn:ietf:params:xml:ns:epp-1.0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;command&amp;gt;&lt;br /&gt;
                     &amp;lt;info&amp;gt;&lt;br /&gt;
                         &amp;lt;domain:info xmlns:domain=&amp;quot;urn:ietf:params:xml:ns:domain-1.0&amp;quot;&amp;gt;&lt;br /&gt;
                             &amp;lt;domain:name&amp;gt;iwantthisdomainname.net&amp;lt;/domain:name&amp;gt;&lt;br /&gt;
                         &amp;lt;/domain:info&amp;gt;&lt;br /&gt;
                     &amp;lt;/info&amp;gt;&lt;br /&gt;
                     &amp;lt;clTRID&amp;gt;83EE2B34-2385-11DE-9267-8000000019CD&amp;lt;/clTRID&amp;gt;&lt;br /&gt;
                 &amp;lt;/command&amp;gt;&lt;br /&gt;
             &amp;lt;/epp&amp;gt;',&lt;br /&gt;
         'cookies' =&amp;gt; $cookies,&lt;br /&gt;
     ]&lt;br /&gt;
 );&lt;br /&gt;
 &lt;br /&gt;
 var_dump($result);&lt;br /&gt;
 &lt;br /&gt;
 $result = send(&lt;br /&gt;
     [&lt;br /&gt;
         'url' =&amp;gt; $url,&lt;br /&gt;
         'content' =&amp;gt; '&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&lt;br /&gt;
             &amp;lt;epp xmlns=&amp;quot;urn:ietf:params:xml:ns:epp-1.0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;command&amp;gt;&lt;br /&gt;
                     &amp;lt;logout/&amp;gt;&lt;br /&gt;
                     &amp;lt;clTRID&amp;gt;83EE2B34-2385-11DE-9267-8000000019CE&amp;lt;/clTRID&amp;gt;&lt;br /&gt;
                 &amp;lt;/command&amp;gt;&lt;br /&gt;
             &amp;lt;/epp&amp;gt;',&lt;br /&gt;
         'cookies' =&amp;gt; $cookies,&lt;br /&gt;
     ]&lt;br /&gt;
 );&lt;br /&gt;
 &lt;br /&gt;
 var_dump($result);&lt;br /&gt;
 &lt;br /&gt;
 function send ($args, &amp;amp;$out = null) {&lt;br /&gt;
     $url = $args[&amp;quot;url&amp;quot;];&lt;br /&gt;
     $content = ($args[&amp;quot;content&amp;quot;]) ?: null;&lt;br /&gt;
     $cookies = ($args[&amp;quot;cookies&amp;quot;]) ?: null;&lt;br /&gt;
 &lt;br /&gt;
     $ch = curl_init($url);&lt;br /&gt;
     curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');&lt;br /&gt;
     curl_setopt($ch, CURLOPT_HEADER, true);&lt;br /&gt;
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);&lt;br /&gt;
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);&lt;br /&gt;
     if ($cookies) {&lt;br /&gt;
         curl_setopt($ch, CURLOPT_COOKIE, buildCookie($cookies));&lt;br /&gt;
     }&lt;br /&gt;
     curl_setopt($ch, CURLOPT_POSTFIELDS, $content);&lt;br /&gt;
     $result = curl_exec($ch);&lt;br /&gt;
     if (curl_errno($ch)) {&lt;br /&gt;
         die(&lt;br /&gt;
             &amp;quot;ERROR: code: &amp;quot;.curl_errno($ch)&lt;br /&gt;
             .&amp;quot;; error: `&amp;quot;.curl_error($ch).&amp;quot;`.&amp;quot;&lt;br /&gt;
         );&lt;br /&gt;
     }&lt;br /&gt;
     $header = explode(&amp;quot;\n&amp;quot;, substr(&lt;br /&gt;
         $result, 0, curl_getinfo($ch, CURLINFO_HEADER_SIZE)&lt;br /&gt;
     ));&lt;br /&gt;
     $out['cookies'] = parseCookie($header);&lt;br /&gt;
     $out['body'] = substr($result, curl_getinfo($ch, CURLINFO_HEADER_SIZE));&lt;br /&gt;
 &lt;br /&gt;
     curl_close($ch);&lt;br /&gt;
 &lt;br /&gt;
     return $out['body'];&lt;br /&gt;
 }&lt;br /&gt;
 function parseCookie ($header) {&lt;br /&gt;
     $cookies = array();&lt;br /&gt;
     foreach ($header as $line) {&lt;br /&gt;
         if (preg_match('/^Set-Cookie: /i', $line)) {&lt;br /&gt;
             $line = preg_replace('/^Set-Cookie: /i', &amp;quot;&amp;quot;, trim($line));&lt;br /&gt;
             $csplit = explode(';', $line);&lt;br /&gt;
             $cdata = array();&lt;br /&gt;
             foreach ($csplit as $data) {&lt;br /&gt;
                 $cinfo = explode('=', $data);&lt;br /&gt;
                 $cinfo[0] = trim($cinfo[0]);&lt;br /&gt;
                 $loweredCinfo = strtolower($cinfo[0]);&lt;br /&gt;
                 if($loweredCinfo == 'expires') $cinfo[1] = strtotime($cinfo[1]);&lt;br /&gt;
                 if($loweredCinfo == 'secure') $cinfo[1] = &amp;quot;true&amp;quot;;&lt;br /&gt;
                 if($loweredCinfo == 'httponly') $cinfo[1] = &amp;quot;true&amp;quot;;&lt;br /&gt;
                 if(in_array($loweredCinfo, array('domain', 'expires', 'path', 'secure', 'comment', 'httponly'))) {&lt;br /&gt;
                     $cdata[trim($cinfo[0])] = $cinfo[1];&lt;br /&gt;
                 } else {&lt;br /&gt;
                     $cdata['value']['key'] = $cinfo[0];&lt;br /&gt;
                     $cdata['value']['value'] = $cinfo[1];&lt;br /&gt;
                 }&lt;br /&gt;
             }&lt;br /&gt;
             $cookies[] = $cdata;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     return $cookies;&lt;br /&gt;
 }&lt;br /&gt;
 function buildCookie ($data) {&lt;br /&gt;
     if(is_array($data)) {&lt;br /&gt;
         $cookie = '';&lt;br /&gt;
         foreach($data as $d) {&lt;br /&gt;
             $cookie[] = $d['value']['key'].'='.$d['value']['value'];&lt;br /&gt;
         }&lt;br /&gt;
         if(count($cookie) &amp;gt; 0) {&lt;br /&gt;
             return trim(implode('; ', $cookie));&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ?&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>	</entry>

	</feed>