2011-07-18 19 views
5

Vì vậy, dù sao, tôi đang làm việc trên một trang web/tập lệnh PHP nhỏ và là một trong những tính năng mà tôi muốn có thể chạy tra cứu WHOIS trên miền hiện tại mà tập lệnh PHP đang chạy.Làm cách nào để chạy tra cứu WHOIS bằng PHP hoặc Python?

Lý tưởng nhất, nó sẽ là một chức năng mà tôi có thể gọi và trong chức năng nó sẽ chạy WHOIS, và sau đó lặp lại kết quả cho màn hình. Nó sẽ lấy URL của trang web để chạy tra cứu WHOIS, hoặc nó sẽ chạy nó trên URL/Tên miền hiện tại (đó là những gì tôi muốn), mặc dù tôi có thể cho nó một biến cho miền trang web nếu cần .

Tôi không biết nhiều về tra cứu WHOIS (tốt, tôi biết những gì họ làm, tôi chỉ không biết cách chạy chúng trong PHP), nhưng tôi cũng sẽ ổn khi phải truy vấn một trang web khác (ngay cả một của riêng tôi nếu bạn có thể cho tôi mã cho nó).

Mọi thứ đều hoạt động, vui lòng cho tôi biết! Điều chính là, tôi muốn nó phù hợp với tất cả trong một chức năng, và nó chắc chắn phải phù hợp với một tập tin/tài liệu PHP.

Trả lời

5

này nên thực hiện chính xác những gì bạn muốn ... http://www.phpwhois.org/

Tôi đã sử dụng lớp này trước đây, làm chính xác những gì bạn muốn!

+0

Làm việc đáng kinh ngạc, cảm ơn bạn! Tôi đã phải thay đổi nó một chút để phù hợp với nó vào trang web của tôi, nhưng vẫn hoạt động tốt! – Alper

+0

Rất vui khi nó làm việc cho bạn! Nó phải phù hợp với các yêu cầu về không gian/tập tin mà bạn có. Nếu không, tôi chắc chắn tất cả chúng ta có thể giúp bạn làm điều đó. – Mingle

+1

Lưu ý rằng bất kể bạn sử dụng tập lệnh nào, hầu hết các máy chủ WHOIS sẽ thực thi một giới hạn nghiêm ngặt đối với các truy vấn (các điều này khác nhau tùy theo máy chủ và TLD). Vì vậy, nếu bạn cần thực hiện truy vấn hàng loạt, bạn sẽ bắt đầu thấy một số phiên bản của lỗi "GIỚI HẠN GIỚI HẠN WHOIS". –

0

Điều tốt nhất cần làm là sử dụng pywhois. Mặc dù bạn nói Python trong tiêu đề câu hỏi nhưng không đề cập đến nó trong bài đăng. Nếu bạn thực sự cần PHP, tôi chắc chắn có một cái gì đó tương đương cho điều đó.

+0

Vâng, tôi nghĩ rằng tôi cần PHP nhiều hơn Python, nhưng tôi nghĩ rằng tôi vẫn sẽ có một sử dụng cho pywhois, chỉ cần không có trong dự án cụ thể này. Cảm ơn bạn! – Alper

6

Với php, bạn có thể sử dụng shell_exec để thực thi lệnh whois.

<?php 
    $whois = shell_exec("whois domain.net"); 
    echo '<pre>'; 
    print_r($whois); 
    ?> 
+0

Không, đừng dùng lệnh whois, sử dụng các thư viện bên trong ngôn ngữ lập trình của bạn hoặc mở một cổng TCP trên cổng 43, xem RFC3912 –

2

Chịu Pavels trả lời thêm một bước nữa - điều này sẽ phá vỡ nó xuống vào một mảng:

$whois = shell_exec("whois 45.118.135.255"); 

$result = explode("\n",$whois); 

$out = array(); 
foreach ($result as $line){ 
    if (substr($line,0,1) == '%' || substr($line,0,1) == '#'){ continue; } 

    $ps = explode(':',$line); 
    $out[trim($ps[0])] = trim($ps[1]); 
} 

print '<pre>'; print_r($out); print '</pre>'; 
+0

Không, đừng mở lệnh whois, sử dụng thư viện bên trong chương trình của bạn ngôn ngữ hoặc mở một cổng TCP trên cổng 43, xem RFC3912 –