พอดีว่าผมลองค้นกระทู้ที่เกี่ยวกับ code whois แล้วไปเจออยู่ code หนึ่งครับทดสอบกับ linux server แล้วก็ตรวจสอบได้ครับว่าโดเมนนี้ใช้ได้หรือไม่ได้ครับ แต่มันขึ้น error ฟ้องมา 2 บรรทัดครับว่า
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/toptest/public_html/ski/whois.php on line 45
Warning: fsockopen() [function.fsockopen]: unable to connect to Whois Server: whois.PublicDomainRegistry.com:43 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /home/toptest/public_html/ski/whois.php on line 45
ครับ พอลองอัพโหลดขึ้น windows server ตรวจสอบไม่ได้เลยแล้วก็ขึ้น error ว่า
Warning: fsockopen(): unable to connect to whois.networksolutions.com:43 in D:\hshome\greenpag\99greenpage.com\whois.php on line 22
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. (10060)
ส่วน code ที่ใช้ก็
Code (PHP)
<div align="center"><span class="textmenu"><br>
ตรวจสอบชื่อ Domain Name</span><br>
<br>
<span class="textmenu">
<?PHP
if ($domain)
{
if ($domain)
{
// first get the domain server from internic. you can also change the alternative
// whois server to something else that suits you.
$fp = fsockopen( "whois.networksolutions.com", 43, &$errno, &$errstr, 10); //ตรง whois. ผมทดลองเปลี่ยนดูหลายๆตัวแล้ว ผลก็ออกมาในลักษณะเดียวกันเลยครับ
if (!$fp)
{
echo "$errstr ($errno)<br>\n";
}
else
{
fputs($fp, "$domain\r\n");
while(!feof($fp))
{
$buf = fgets($fp,128);
if (ereg( "Whois Server:", $buf))
{
$server = str_replace( "whois server: ", "", $buf);
$server = trim($server);
}
}
fclose($fp);
}
if ($server)
{
echo "<B>Domain ชื่อ <font color=red>$domain</font> <font color=blue>ได้มีคนจดทะเบียน Domain นี้แล้ว</font> <br>Registered at $server</B><BR>";
echo "<PRE>";
$fp = fsockopen($server, 43, &$errno, &$errstr, 10);
if(!$fp)
{
// echo "could not open connection to $server on port 43.\n";
// echo "$errstr ($errno)<br>\n";
}
else
{
fputs($fp, "$domain\r\n");
while(!feof($fp))
{
echo fgets($fp,128);
}
fclose($fp);
}
}
else {
echo( "<b>Domain ชื่อ <font color=red>$domain</font> <font color=blue>ยังไม่มีคนจด Domain นี้ </font><br>คุณสามารถจดทะเบียนโดเมนเนมนี้ได้</b><BR>");
}
echo ( "</PRE><BR>");
}
}
?>
</span></div>
<FORM ACTION=" <?PHP echo($PHP_SELF); ?>" METHOD="post">
<div align="center">
<p class="textmenu">ใส่ชื่อ ( Domain.com,.org.net )<font face="MS Sans Serif" size="2"><br>
<br>
</font>www.
<INPUT TYPE="text" NAME="domain" SIZE="30" MAXLENGTH="100" class="checkbox">
<INPUT TYPE=submit VALUE="ตรวจสอบ" class="checkbox">
<br>
<br>
ไม่ต้องมี www เช่น <b>thaicreate.com</b></p>
<p> </p>
<p><span class="textmenu"><a href='javascript:window.close()'><font color="#FF0000">ปิดหน้าต่างนี้</font></a>
</span> </p>
</div>
</FORM>
<font face="MS Sans Serif" size="2"> </font>
ผมลืมไปเลยครับว่ามี code ที่ได้จาก Source Code V2.0 ที่เคยสั่งซื้อไป พอเอามาลองทดสอบกับ linux server ก็ใช้ได้เลยครับเร็วด้วย แต่ลองกับ windows server รอนานมากแล้วก็ขึ้น error มาว่า
Warning: fsockopen(): unable to connect to whois.publicinterestregistry.net:43 in D:\hshome\greenpag\99greenpage.com\whois\whois.php on line 466
Fatal error: Maximum execution time of 60 seconds exceeded in D:\hshome\greenpag\99greenpage.com\whois\whois.php on line 466
บรรทัดที่ 466 ก็จะเป็นคำสั่ง Code (PHP)
if ( (TYPE == "all" or TYPE == "com") and COM_INCLUDE )
{
$com_array = array(DDOMAIN.".com");
$com_count = count($com_array);
$i=0;
for ($i=0;$i<$com_count;$i++)
{
$domname = $com_array[$i];
$ns = fsockopen(COM_SERVER,43); fputs($ns,"$domname\r\n");
$result = '';
while(!feof($ns)) $result .= fgets($ns,128); fclose($ns);
if (eregi(COM_NOMATCH,$result)) { dispav($domname); } else { dispun($domname,COM_SERVER); }
}
echo '<tr><td colspan="5" class="separator"> </td></tr>';
}
ที่ต้องทำอย่างนี้เพราะว่าตัวเว็บที่ใจใช้ตัวเดิมเขียนด้วย asp ที่ผมไม่ได้เป็นคนเขียน แล้วก็ทำงานอยู่บน windows server ด้วย แล้วตอนนี้ต้องมีการแก้ไขเว็บใหม่หมดผมเลยคิดจะเขียนด้วย php แล้วอัพขึ้น windows server ครับ เพราะเพิ่งจ่ายค่า host ไปเมื่อเดือนสิงหาคมนี้กว่าจะหมดก็สิงหาปีหน้าเลย หรือว่าเอาไฟล์ whois.php นี้ไปวางไว้ใน linux server ที่ผมมีอยู่แล้วสร้างลิ้งค์ชี้ไปที่ whois.php ดีครับผมว่าอย่างหลังนี้ก็น่าจะพอทำได้นะครับ ผู้ที่รู้ช่วยแสดงความคิดเห็นหน่อยครับว่าที่ผมบอกพอจะได้ไหมครับ ขอบคุณล่วงหน้าครับ