Giter Site home page Giter Site logo

php-whois's Issues

.biz always shows unavailable

searching for a .biz-Domain always shows this domain unavailable.
It seems that the whois.servers.json has to have "No Data Found" as Failstring.

Registrant, Admin & Tech data is empty

Hello. I just started using this class and it's pretty useful. However, I have noticed that it returns empty Registrant, Admin & Tech data. From what I gather, the solution is to make a second request to the registrar's WHOIS server in order to obtain it. For .com domains, this process would roughly look something like this:

Query whois.crsnic.net, find the "Registrar WHOIS Server" line in the received response and get the address of the said server (let's say it's whois.namecheap.com)

Query whois.namecheap.com

Parse & merge the data returned from the two servers as necessary and return it

add *.ir ccSLD domains

must be add second-level domain (ccSLD) for Iran country, below list:
co.ir
ac.ir
sch.ir
id.ir
gov.ir
org.ir
net.ir

.de not returning data

I tried with any .de website and I don't get any data. I tried on other websites and they seem to work when I query a .de website.

*.mil tld wrong whois server

In whois servers "mil" tld contains "whois.internic.net".

According to response from "whois.internic.net": The Registry database contains ONLY .COM, .NET, .EDU domains and Registrars.

Wrongly resolved as available domain as example: "usmc.mil".

.swiss

Can you please add .swiss to your json?
whois.nic.swiss

Not work unicode domain name

Не проверят на регистрацию в рф и прочих не латинистических доменах.
президент.рф
xn--d1abbgf6aiiy.xn--p1ai

infinite loop

your class enters into infinite loop when fsockopen returns a error.

don't make two querys

if you use "$whois_string = $this->info();" inside the isAvailable() function you are querying the whois server two times.

(example on the first page)
$whois_answer = $domain->info(); //FIRST QUERY
...
if ($domain->isAvailable()) { //SECOND QUERY

Some whois servers have limits of 1 host from one ip each second (for instance).
So you should only ask only one time.
You can for instance save the domain info in a class variable and use it, if already exists

.ac.ir

.ir tld is defined in this script but i can not whois 'kashanu.ac.ir'!
please check it

Formating

If you want a quick way to format the return results

echo nl2br($whois_answer);

will convert line breaks to html breaks. Makes it easier to read :)

.ph

Hi,

Not work - HTTP 404.

.ir

thanks for your class but why dont you add .ir??
please add it.
whois server : whois.nic.ir

Using guzzle instead of CURL

Hi,
I think the main API request function should be updated to use guzzle instead of directly going for curl!
Advantages:
It's much more modern and easier to debug
Code would be cleaner
We can use guzzle async features to make asynchronous requests:
This is important because most people use this library for checking domain availability and if you target multiple TLD's many serial requests would have to be made and the script would get really slow.
Thanks

To single out one record, look it up with "xxx"

When I use your script to search for Google.com or any popular domain, it's just listing a bunch of domains that contain that domain in it. It also has the following message:

To single out one record, look it up with "xxx", where xxx is one of the
records displayed above. If the records are the same, look them up

with "=xxx" to receive a full display for each record.

What needs to be done for it to actually get the whois results for any domain that's entered?

Need JSON format

Its not returning data in JSON format.
How can I get JSON formatted data?

If not then has there any other good php class like it what returns data in JSON format.

THanks

Domain name can be shorter

Hi,

public function isValid()
    {
        if (
            isset($this->servers[$this->TLDs][0])
            && strlen($this->servers[$this->TLDs][0]) > 6
        ) {
            $tmp_domain = strtolower($this->subDomain);
            if (
                preg_match("/^[a-z0-9\-]{1,}$/", $tmp_domain)
                && !preg_match("/^-|-$/", $tmp_domain) //&& !preg_match("/--/", $tmp_domain)
            ) {
                return true;
            }
        }

        return false;
    }

like jd dot com, kk dot com p dot ki.

Thank you.

.cr ?

Add .cr domain check ?

getting specific data

how can i get specific data from returning value? for example i want to get only creation date. Is it possible to do this?

Problem in implementation

Hello,

Can you please tell me that how can I make use of this code? I mean I am completely noob, but I wanna get whois info of many domains at once.

So I found this.

What do I have to do now to get this working.

Sorry.

Thanks

Outsource the whois server list

Hi

I see that there are a handful of projects which do maintain their own individual whois server list. How about combining those lists into one single place and just maintain that together?

I created https://github.com/whois-server-list/whois-server-list where you can find a XML list containing domains (TLDs and SLD) with its whois servers from IANA, PSL and several whois client projects. The schema is not fix and could be changed within a new major version.

Also I'd like to use this opportunity to ask you if I may incorporate your list. I use the WTFL license.

Кирилические домены с числами

Скрипт не обрабатывает кириллические домены с числами в начале домена. Например: 0404.xn--p1ai, 1500.xn--p1ai, 208777.xn--p1ai.
[18-Sep-2018 12:10:24 UTC] PHP Fatal error: Uncaught InvalidArgumentException: Invalid 0404.xn--p1ai syntax in /home/путь/Phois/Whois/Whois.php:29
Stack trace:
#0 /home/путь_к_скрипту.php(54): Phois\Whois\Whois->__construct('0404.xn--p1ai')
#1 {main}
thrown in /home/путь/Phois/Whois/Whois.php on line 29

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.