metaregistrar / php-epp-client Goto Github PK
View Code? Open in Web Editor NEWObject-oriented PHP EPP Client
Home Page: https://www.metaregistrar.com/docs/
License: MIT License
Object-oriented PHP EPP Client
Home Page: https://www.metaregistrar.com/docs/
License: MIT License
Hi,
Thank you for this project ! I have began a similar project only with Eurid and Afnic and just found yours.
I just download the package,
set my credantials on Registries/EURID/euridEppConnection.php,
modify infodomain.php in order to use EURID connection
and when execute, there was this error 👍
root@vs-025:~/php-epp-client/trunk# php checkdomain.php toto.eu
Checking 1 domain names
PHP Fatal error: Class 'ConfigFactory' not found in /root/php-epp-client/trunk/Registries/EURID/euridEppConnection.php on line 23
I didn't found this class anywhere. Could you help me please?
Kind regards,
l93
Hi ,
I'm wondering how can I get a contact , some example if possible please.
Thanks
I have not found anything which can create / update Name Servers for Domain Name. Kindly help me.
plz for snapshot got through below or help me for logic so i can build the same. If you need i can share whole logic docs.
For example:
• VeriSign Naming Services allows use of hosts registered in other TLDs, such as ccTLDs, referred to as “external hosts”. For example, a host named ns1.example.com.au can be used to provide service for the domain example.com. Such hosts must be registered with the VeriSign Registry before they can be used, but an IP address is NOT allowed. VeriSign Com/Net Registry will not accept IP addresses for hosts that are outside of the Com or Net TLD (e.g. ns1.example.ca). The authoritative registry for the non Com or Net host will resolve the IP Address in their zone file.
Testing to register iis domain.
In Example/registerdomain.php in function createdomain the test for the response when creating domain is if it is instance of eppCreateResponse:
if ((($response = $this->eppconn->writeandread($create)) instanceof Metaregistrar\EPP\eppCreateResponse) && ($response->Success())) {
But when checking the response, the object returned is eppCreateDomainResponse
So changing to:
if ((($response = $this->eppconn->writeandread($create)) instanceof Metaregistrar\EPP\eppCreateDomainResponse) && ($response->Success())) {
makes it work, but is this really correct?
Hi!
Would be awesome if you could add it to Packagist for easier integration and recursive autoloading.
I adjusted checkdomain to use sidn but i get this error can't find what the problem is.
Can you help?
/Registries/SIDN# php ../../checkdomain.php hcc.nl
Checking 1 domain names
PHP Fatal error: Uncaught exception 'DOMException' with message 'Invalid Character Error' in php-epp-client/Protocols/EPP/eppRequests/eppRequest.php:142
Stack trace:
#0 php-epp-client/Protocols/EPP/eppRequests/eppRequest.php(142): DOMElement->setAttribute('xmlns:http://rx...', 'sidn-epp-ext')
#1 php-epp-client/Protocols/EPP/eppConnection.php(439): eppRequest->addNamespaces(Array)
#2 php-epp-client/base.php(68): EppConnection->writeandread(Object(eppLoginRequest))
#3 php-epp-client/checkdomain.php(42): login(Object(sidnEppConnection))
#4 {main}
thrown in php-epp-client/Protocols/EPP/eppRequests/eppRequest.php on line 142
In some Ficora contact info responses (where contact type is 0 (person)), the name is transmitted with separate firstname and lastname fields which are not recognized and transferred properly to eppContactPostalInfo. Example response:
<?xml version="1.0" encoding="utf-8"?>
<epp xmlns:host="urn:ietf:params:xml:ns:host-1.0" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xmlns:obj="urn:ietf:params:xml:ns:obj-1.0" xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<contact:infData>
<contact:id>C000000</contact:id>
<contact:role>5</contact:role>
<contact:type>0</contact:type>
<contact:postalInfo type="loc">
<contact:firstname>Firstname</contact:firstname>
<contact:lastname>Lastname</contact:lastname>
<contact:addr>
<contact:street>Street</contact:street>
<contact:city>City</contact:city>
<contact:pc>00000</contact:pc>
<contact:cc>FI</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+358123456</contact:voice>
<contact:legalemail>[email protected]</contact:legalemail>
<contact:clID>C0000contact:clID>
<contact:crDate>2016-07-13T20:59:52.097</contact:crDate>
</contact:infData>
</resData>
<trID>
<clTRID>...</clTRID>
<svTRID>...</svTRID>
</trID>
</response>
</epp>
Simple fix: alter eppInfoContactResponse->getContactPostalInfo() to search for firstname and lastname if name field is not present (around line 314):
if ($testname->length > 0) {
$name = $testname->item(0)->nodeValue;
} else {
$testfirstname = $postalresult->getElementsByTagName('firstname');
$testlastname = $postalresult->getElementsByTagName('lastname');
if ($testfirstname->length > 0 && $testlastname->length > 0) {
$name = $testfirstname->item(0)->nodeValue . ' ' . $testlastname->item(0)->nodeValue;
}
}
For the eppInfoDomainRequest, the domain:authInfo element is being created even if the auth_code is not provided, this is because in the eppDomain object the authorisation_code is initialized with an empty string value so it avoids the is_null verification used in the eppInfoDomainRequest.
Onsite contacts seem to be not supported.
Is the dnsEppUpdateDomainRequest.php missing in Protocols/EPP/eppExtensions/dnsbe-1.0/eppRequests?
Same goes for .eu domains, onsite contacts not working on update..
Hello ,
I'm trying to check availability of domain, following checkdomains.php example.
what should I pass to eppCheckRequest at the construct ?
when i do try : $response = $this->checkdomains($conn, 'epptest.ficora.fi');
error message appears : "Error 2400: Command faile"
$response = $this->checkdomains($conn, 'epptest.ficora.fi'');
When I pass eppDomain obj to checkdomains function ,
following err message appears: "Error 2005: Parameter value syntax error"
$eppDoamin = new eppDomain('epptest.ficora.fi');
$eppDoamin->setAuthorisationCode('*********');
$response = $this->checkdomains($conn, $eppDoamin);
Interesting if I try to check "domain.fi" return "is taken" ( works )
Thanks
Lets say the host:addr field is this:
<host:addr ip="v4">123.123.123.123</host:addr>
the eppInfoHostResponse reads those addresses which are returned as an array:
["123.123.123.123"=>"v4"]
->getHosts then uses those addresses to make a eppHost object.
eppHost then uses those addresses to add each address. However it is expecting an array of just ip addresses:
["123.123.123.123"]
but it is getting ["123.123.123.123"=>"v4"]
it does a foreach on those adresses while just using the value.
Resulting in the setIpAddress (which for some reason has an ip address check ) Telling the world that "v4" is not a valid ipv4 address.
This issue could be solvable by adding the following line in eppInfoHostResponse getHost function.
$address = $this->getHostAddresses();
$address = array_keys($address);
$host = new eppHost($hostname, $address);
Hello,
I can't get create contact to work with the rrpproxy connection, updating and contact info works fine though.
my Code:
`require('../autoloader.php');
use Metaregistrar\EPP\eppConnection;
use Metaregistrar\EPP\eppException;
use Metaregistrar\EPP\eppContactPostalInfo;
use Metaregistrar\EPP\eppContact;
use Metaregistrar\EPP\eppCreateContactRequest;
use Metaregistrar\EPP\rrpproxyEppConnection;
try {
if ($conn = new rrpproxyEppConnection(true,'../Registries/rrpproxyEppConnection/settings.ini')) {
if ($conn->login()) {
createcontact($conn, '[email protected]', '+31.201234567', 'Domain Administration', 'Metaregistrar', 'Address 1', 'Zipcode', 'City', 'NL');
$conn->logout();
}
}
} catch (eppException $e) {
echo "ERROR: " . $e->getMessage() . "\n\n";
}`
I get the following error:
ERROR: Error 2001: Command syntax error; value:EPP parser errors: unknown-3361d90:0: Schemas validity error : Element '{urn:ietf:params:xml:ns:epp-1.0}extension': Missing child element(s). Expected is ( ##other{urn:ietf:params:xml:ns:epp-1.0}* ).
I hope you can help me. :)
Thanks in advance
Failed to enable crypto, i verifed ssl & nmap to the epp server...
A idea ?
Hi,
If there is an '=' in a password (or any other param in settings.ini), loadSettings will load only the part before the '='
If you add limit 2 to explode, this will be solved:
File: Protocols/EPP/eppConnection.php
Line: 913
Change:
list($param, $value) = explode('=', $setting);
To:
list($param, $value) = explode('=', $setting,2);
Thank you
//
Adding a contact doesn't work for iis. Gives Error 2004.
The iis registry (.se) has the following requirements for the contact id:
Maximum length is 16 characters
Starts with at least
two letters a-z,A-Z
Followed by 4 digits 0-9
Followed by a dash “-“
Followed by 1 to 9 digits 0-9
Recommended format is:
First 6 characters of contact:org/ or contact:name/
2 digit year, 2 digit month
And a index number after the dash
E. g. NORDEA0808-00001
How/where can this be added?
//kg00
Hello
Im new in this, where i have to put the domain names to check for infodomain, checkdomain, registerdomain etc.. ?
Greetings and thanks for Help !
Remo
Hi,
Is there a way to append additional parameters such as X-IT-SECT3-LIABILITY
for .it domains.
Request:
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xmlns:host="urn:ietf:params:xml:ns:host-1.0" xmlns:keysys="http://www.key-systems.net/epp/keysys-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<command>
<create>
<domain:create>
<domain:name>xxx.it</domain:name>
<domain:ns>
<domain:hostObj>ns1.xxx.nl</domain:hostObj>
<domain:hostObj>ns2.xxx.nl</domain:hostObj>
</domain:ns>
<domain:registrant>xxx</domain:registrant>
<domain:contact type="admin">xxx</domain:contact>
<domain:contact type="tech">xxx</domain:contact>
<domain:contact type="billing">xxx</domain:contact>
<domain:authInfo>
<domain:pw>xxx</domain:pw>
</domain:authInfo>
</domain:create>
</create>
<clTRID>xxx</clTRID>
</command>
</epp>
Response:
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="2003">
<msg>Required parameter missing</msg>
<value>
<text>Missing required attribute; X-IT-SECT3-LIABILITY is not agreed on.</text>
</value>
</result>
<trID>
<clTRID>xxx</clTRID>
<svTRID>xxx</svTRID>
</trID>
</response>
</epp>
I changed the file 'createcontact.php' in the 'Examples' folder.
I changed the following line to change it to openprovider:
$conn = new Metaregistrar\EPP\openproviderEppConnection();
The error I get is:
Error 2102: Unimplemented option (Contact password is not supported)
How is this possible?
It is possible to receive empty contact handles for .fi domains on info domain request resulting in an exception in eppContactHandle.
Details:
This is a slightly obfuscated response from the testing environment:
<?xml version="1.0" encoding="utf-8"?>
<epp xmlns:host="urn:ietf:params:xml:ns:host-1.0" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xmlns:obj="urn:ietf:params:xml:ns:obj-1.0" xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<domain:infData>
<domain:name>DOMAIN_NAME</domain:name>
<domain:registrylock>0</domain:registrylock>
<domain:autorenew>0</domain:autorenew>
<domain:status s="Granted"></domain:status>
<domain:registrant>CXXXXX</domain:registrant>
<domain:contact type="admin"></domain:contact>
<domain:contact type="billing"></domain:contact>
<domain:contact type="tech">CXXXXX</domain:contact>
<domain:ns>
<domain:hostObj>NAMESERVER1</domain:hostObj>
<domain:hostObj>NAMESERVER2</domain:hostObj>
</domain:ns>
<domain:clID>CXXXX</domain:clID>
<domain:crID>CXXXX</domain:crID>
<domain:crDate>2016-07-13T20:59:52.097</domain:crDate>
<domain:exDate>2017-07-13T20:59:52.02</domain:exDate>
<domain:authInfo></domain:authInfo>
</domain:infData>
</resData>
<trID>
<svTRID>1234567</svTRID>
</trID>
</response>
</epp>
As you can see, it is possible for admin and billing contacts to be present, but empty. This happens when there is no assigned contact to those roles.
The end result is eppInfoDomainResponse->getDomainContacts() leading into an exception, as empty handle gets passed to eppContactHandle which triggers an exception in setContactHandle() (Contact handle specified is not valid: ).
Proposed fix: check if $contact->nodeValue has length in eppInfoDomainResponse->getDomainContacts() before creating a eppContactHandle and adding it to list of contacts present.
I haven't been able to connect to Norid's EPP server. Upon enabling logging, i receive the message "Unexpected closed connection by remote host..." which i found from reading eppConnection.php is produced upon an unexpected end-of-file.
I contacted the registry (Norid) and asked if they have any idea why i would be getting an unexpected closed connection, and they replied saying i probably forgot to add the 32-bit header which dictates the length of the data being sent. However, i clearly see that header being added. I even verified it by adding print(bin2hex($content))
to the write function in eppConnection.php. The first 4 bytes are 00 00 05 0b
(decimal: 1291) when the length of the rest of my content is 1287 bytes. Seems perfectly fine to me.
I don't see why it would be sending an end-of-file early as everything seems to be done correctly. Please let me know if you have any idea why that is, @metaregistrar.
Here is the code i use to connect to Norid:
$this->connection = new noridEppConnection(true);
$this->connection->setHostname('epp.test.norid.no'); // Norid EPP test server
$this->connection->setPort(700);
$this->connection->setUsername($myusername);
$this->connection->setPassword($mypassword);
if (!$this->connection->login()) {
// throw an exception here
}
I have verified that $myusername
and $mypassword
are correct by signing into their web-based EPP client using the same credentials successfully.
After connecting, i'd make a request like this in another class function that returns the expiration date of a domain:
// eppDomain would also work here because i'm not using the extensions
// I'm only using noridEppDomain here for consistency
$domain = new noridEppDomain('example.no');
$request = new eppInfoDomainRequest($domain);
if ($response = $this->connection->request($request)) {
/* @var $response Metaregistrar\EPP\eppInfoDomainResponse */
if ($response->getResultCode() == eppResponse::RESULT_SUCCESS) {
return strtotime($response->getDomainExpirationDate());
} else {
// throw an exception here
}
} else {
// throw an exception here
}
Hello,
When requesting a domain creation for a .de domain it requires a trustee service, the X-DE-ACCEPT-TRUSTEE-TAC=1
.
See: https://wiki.rrpproxy.net/DE#Domain_registration_with_Trustee_Service
Is there something i did wrong, or is this part missing in the MetaRegistrar library?
Request:
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xmlns:host="urn:ietf:params:xml:ns:host-1.0" xmlns:keysys="http://www.key-systems.net/epp/keysys-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<command>
<create>
<domain:create>
<domain:name>xxx.de</domain:name>
<domain:ns>
<domain:hostObj>ns1.xxx.nl</domain:hostObj>
<domain:hostObj>ns2.xxx.nl</domain:hostObj>
</domain:ns>
<domain:registrant>xxx</domain:registrant>
<domain:contact type="admin">xxx</domain:contact>
<domain:contact type="tech">xxx</domain:contact>
<domain:contact type="billing">xxx</domain:contact>
<domain:authInfo>
<domain:pw>xxx</domain:pw>
</domain:authInfo>
</domain:create>
</create>
<clTRID>xxx</clTRID>
</command>
</epp>
Response:
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="2004">
<msg>Parameter value range error</msg>
<value>
<text>Invalid attribute value; owner or admin contact must have a german address. please provide valid contacts or use trustee service.</text>
</value>
</result>
<trID>
<clTRID>xxx</clTRID>
<svTRID>xxx</svTRID>
</trID>
</response>
</epp>
Hi,
I'm trying to clone this package with Composer only I get the following error:
The requested package metaregistrar/php-epp-client could not be found in any version, there may be a typo in the package name.
I copied the title from your composer.json so I'm wondering what I'm doing wrong.
Thanks,
MrAtiebatie
The README file says: "settings.ini files in the Registries directory", but there aren't settings.ini files in the Registries director.
ficoraEppInfoContactResponse:
missing getRegisternumber (contact:registernumber) and getIdentifynro (contact:identity)
If I can make a connection via this command:
openssl s_client -connect ote.registrar.tld:700
-key /etc/letsencrypt/live/domain.tld/privkey.pem
-cert /etc/letsencrypt/live/domain.tld/cert.pem
-CAfile /etc/letsencrypt/live/domain.tld/chain.pem
How would that translate into a connection with this library? I see an option to add only one certificate and I need to provide 3.
Hi,
Has anywone an example on how to request a transfer key?
Implement EppAuthcodeRequest
domains are with taken availability status
I think there is wrong using of strpos at eppCheckResponse :
If we take a look at : if (strpos($child->tagName, ':name')) or if (strpos($child->tagName, ':reason'))
this checks will return false because $child->tagName is just "name" without ":" ( at my situation Ficora registry )
But even if we fix this , another problem will just appear because of how strpos works.
Some times it returns FALSE but sometime it can return 0 ( position of the first occurrence) which will be evaluates to FALSE.The same situation is for ":reason" check .
So , availability status will be affected , always taken !
I do not know the epp protocol and because of that I want to ask is the expected values ,
for $child->tagName are just "name" , "reason" or ":name",":reason" (my situation is without dots like that ":") ?
public function getCheckedDomains() {
if ($this->getResultCode() == self::RESULT_SUCCESS) {
$result = array();
$xpath = $this->xPath();
$domains = $xpath->query('/epp:epp/epp:response/epp:resData/domain:chkData/domain:cd');
foreach ($domains as $domain) {
$childs = $domain->childNodes;
$checkeddomain = array('domainname' => null, 'available' => false, 'reason' => null);
foreach ($childs as $child) {
if ($child instanceof \domElement) {
if (strpos($child->tagName, ':name')) {
$available = $child->getAttribute('avail');
switch ($available) {
case '0':
case 'false':
$checkeddomain['available'] = false;
break;
case '1':
case 'true':
$checkeddomain['available'] = true;
break;
}
$checkeddomain['domainname'] = $child->nodeValue;
}
if (strpos($child->tagName, ':reason')) {
$checkeddomain['reason'] = $child->nodeValue;
}
}
}
$result[] = $checkeddomain;
}
}
return ($result);
}
DOMElement Object
(
[tagName] => name
[schemaTypeInfo] =>
[nodeName] => name
[nodeValue] => sevdi-a-demo.fi
[nodeType] => 1
[parentNode] => (object value omitted)
[childNodes] => (object value omitted)
[firstChild] => (object value omitted)
[lastChild] => (object value omitted)
[previousSibling] => (object value omitted)
[nextSibling] => (object value omitted)
[attributes] => (object value omitted)
[ownerDocument] => (object value omitted)
[namespaceURI] => urn:ietf:params:xml:ns:domain-1.0
[prefix] =>
[localName] => name
[baseURI] => /var/www/html/ApiHawk/PrimeEngine/
[textContent] => sevdi-a-demo.fi
)
Hi, here you have hardcoded the org number. It will be nice if its possible to set it dynamic perhaps with separate method..
I want to register .nl domains with SIDN using this metaregistrar project.Now, after creating settings.ini, checkdomain.php should be working as mentioned in the documentation. But, after creating settings.ini I am trying to run checkdomain.php independently by providing domain name statically inside checkdomain.php, however, when I run it in the browser from localhost, each time it is showing an error (ERROR: Unexpected closed connection by remote host...). Also, inside settings.ini I have provided interface=eppConnection, hostname=ssl://epp.test2.metaregistrar.com and port=7443 as provided in the documentation of the project and as userid and password I am using the login credentials of https://drs.domain-registry.nl. Can you please tell me what the problem is? Do I need to change anything?
Hello,
what license applies to php-epp-client?
Thanks,
Manawyrm
Xml isn't complete. seems to be missing for dns.be
I'm trying to get info of domain registered thru ficora but it returns syntax error. What I'm doing wrong?
$info = new eppInfoDomainRequest(new eppDomain($domain));
if ($response = $this->conn->request($info)) { // throws exception with syntax error
/** @var \Metaregistrar\EPP\eppInfoDomainResponse $response */
$data = $response->getDomain();
foreach ($data->getContacts() as $contact) {
/** @var eppContactHandle $contact */
echo $contact->getContactType() . ': ' . $contact->getContactHandle() . PHP_EOL;
}
}
$this->conn:
$conn = new \Metaregistrar\EPP\ficoraEppConnection();
$conn->setHostname($host);
$conn->setPort($port);
$conn->setUsername($username);
$conn->setPassword($password);
if (null === $conn) {
throw new RuntimeException('Cannot create connect to ficora');
}
$conn->enableCertification($key, $keyPassword, false);
$this->conn = $conn;
$this->conn->login();
The array shorthand ([]) syntax is being used at eppInfoContactResponse->getContactPostalInfo() ($postalinfo = [];
) and also multiple times at eppHelloResponse for example.
Given it was introduced in PHP 5.4, maybe update the minimum version requirement to PHP 5.4.
Hi,
While checking if domainname is valid is working.
Domaininfo is returning nothing: "Retrieving info on xxxx.be " with no further details.
At the github page (http://metaregistrar.github.io/php-epp-client/), it says "Connection to SIDN (registry for .NL domain names) is added as a sample connection (since this is the connection we are using most heavily)", but I can only see an IIS and metaregistrar registry.
Am I missing something?
As title says. I'd like to see support for the Norwegian registrar NORID for .no domains.
https://www.norid.no/en/registrar/system/tjenester/epp-webclient/
Hi
When using the new factory instead of creating object, we have to include the path to config/settings file. Is this a deliberate change? I liked it better not having to include the path everywhere since it made it easier to handle changes in path later on.
Earlier (and as it is still in __construct) the default was to use settings.ini in the actual folder (Registries/iisEppConnection in our test case), but now we get "File not found" when trying to use :
if ($this->eppconn = Metaregistrar\EPP\iisEppConnection::create('')) {
if we do not include the path to the file.
Is this something you will change to not having to include it in the create call so it works as earlier?
Thank you
After config the settings.ini, I try to run (php 7.0) the checkdomain on Examples folder, but this error appears,
php ./infodomain.php google.com
Retrieving info on google.com
PHP Fatal error: Class 'DOMDocument' not found in /opt/lampp/htdocs/epp/Protocols/EPP/eppResponses/eppResponse.php on line 9
but with php 5.6
/opt/lampp/bin/php ./infodomain.php google.com
Retrieving info on google.com
Warning: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /opt/lampp/htdocs/epp/Protocols/EPP/eppConnection.php on line 371
Warning: fsockopen(): Failed to enable crypto in /opt/lampp/htdocs/epp/Protocols/EPP/eppConnection.php on line 371
Warning: fsockopen(): unable to connect to ssl://eppdev.dns.pt:3121 (Unknown error) in /opt/lampp/htdocs/epp/Protocols/EPP/eppConnection.php on line 371
ERROR: Writing while no connection is made is not supported.
BR
Can you comment to code is first line number 0 or 1 ?
Hello ,
I have problem when try to connect via ssl:
Warning: fsockopen(): unable to connect to ssl://domain.com (Connection timed out) in metaregistrar/php-epp-client/Protocols/EPP/eppConnection.php on line 290
Is that possible because of vhost configuration .
For example something that should be set to send certificate on request or ?
Thanks
signdomain.php at line 9 has a call to 'eppDnssecUpdateRequest', but that function does not seem to exist in this repository?
When trying to do a transfer like this:
try {
$domain = new eppDomain($domainname);
$domain->setAuthorisationCode($authcode);
$transfer = new dnsbeEppTransferRequest(dnsbeEppTransferRequest::OPERATION_REQUEST, $domain);
if ($response = $conn->request($transfer)) {
/* @var $response Metaregistrar\EPP\eppTransferResponse */
echo $response->getDomainName(), " transfer request was succesful\n";
return true;
}
} catch (eppException $e) {
echo $e->getMessage() . "\n";
return $e->getMessage() . "\n";
}
I get the error:
No valid response class found for request class Metaregistrar\EPP\dnsbeEppTransferRequest
Hi,
First of all i am very happy you build this apps. This apps is very flexible and understandable rather than EPP RTK that based on java (actually this is also because my background is in PHP)
I need to submit one issue especially about function "generatePhoneNumber" when i input one digit country phone number (ex : +1.12334567) it will become incorrect. this function will make it become : +11.2334567.
so i add few line in at the first line of this function :
if(preg_match('/([0-9]{1,2}.[0-9]+)/',$number,$match)){
if(isset($match[1])){
return '+'.$match[1];
}
}
i dont know if this solution is effective enough, but at lest maybe you can update your code to solve this problem.
As the title says, would be nice to be able to add a custom logger for written and read responses. Prerably with an access to Request and Response objects, so in writeandread() -method after the default READ log write. I can do some work on this, just need to decide how it gets implemented (event listener, callback or what).
Hi I got "Command failed" on register domain .
Here is the xml request
<?xml version="1.0" encoding="UTF-8"?>
<epp>
<command>
<create>
<domain:create>
<domain:name>some-demo.fi</domain:name>
<domain:period unit="y">1</domain:period>
<domain:registrant>*******</domain:registrant>
<domain:authInfo>
<domain:pw>************</domain:pw>
</domain:authInfo>
</domain:create>
</create>
<clTRID>********</clTRID>
</command>
</epp>
Hi.
¿This library is compatible with PHP 7 ?
Thanks
Hi,
Please find below an exception when using infodomain.php.
Best regards,
L93
root@vs-025:~/php-epp-client/trunk# php infodomain.php test.eu
Retrieving info on test.eu
PHP Fatal error: Uncaught exception 'DOMException' with message 'Invalid Character Error' in /root/php-epp-client/trunk/Protocols/EPP/eppRequests/eppRequest.php:142
Stack trace:
#0 /root/php-epp-client/trunk/Protocols/EPP/eppRequests/eppRequest.php(142): DOMElement->setAttribute('xmlns:http://ww...', 'contact-ext')
#1 /root/php-epp-client/trunk/Protocols/EPP/eppConnection.php(439): eppRequest->addNamespaces(Array)
#2 /root/php-epp-client/trunk/base.php(68): EppConnection->writeandread(Object(eppLoginRequest))
#3 /root/php-epp-client/trunk/infodomain.php(40): login(Object(euridEppConnection))
#4 {main}
thrown in /root/php-epp-client/trunk/Protocols/EPP/eppRequests/eppRequest.php on line 142
https://www.nic.ch/export/shared/.content/files/EPP-Manual_en.pdf
How to create our own configuration to add registrar ?
Declaration of Metaregistrar\EPP\eppHttpConnection::read() should be compatible with Metaregistrar\EPP\eppConnection::read($nonBlocking = false) in ./vendor/metaregistrar/php-epp-client/Protocols/EPP/eppHttpConnection.php on line 13
What happens here is that the declaration of the read function in eppHttpConnection is not identical to the read function in eppConnection. The latter takes a parameter "$nonBlocking" while the former takes none.
I guess this is a problem for those who have error_reporting set to E_STRICT.
*this is my first ever Issue Reporting, so I hope I did this the right way.
I try to find option to set telephone extension in eppcontact. But i couldn't find a way how we can set telephone extension using php-epp-client.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.