包含php調用萬網介面實現域名查詢的詞條

本文目錄一覽:

PHP 獲取域名的幾種方法

獲取當前的域名:

echo $_SERVER[‘SERVER_NAME’];

//獲取來源網址,即點擊來到本頁的上頁網址

echo $_SERVER[“HTTP_REFERER”];

$_SERVER[‘REQUEST_URI’];//獲取當前域名的後綴

$_SERVER[‘HTTP_HOST’];//獲取當前域名

dirname(__FILE__);//獲取當前文件的物理路徑

dirname(__FILE__).”/../”;//獲取當前文件的上一級物理路徑

?

怎麼樣用javascript實現域名查詢功能,就是查詢域名是否被使用。

js是不可能實現的。你需要和伺服器端語言配合

這有個php查詢域名介面的,或者找別人寫好的伺服器端,js調用下

萬網提供的介面是 參數 domain=dacb.com,

返回結果com|aaa.com|211|Domain name is not available,其中 212 (查詢失敗)、211 (不可註冊)、210 (可以註冊)

用PHP實現標準的IP Whois查詢

由於Internet的歷史原因,apin負責整個網路IP的整體規劃以及北美區

還有部分非洲地區的IP分配管理,與此相應的是,whois.apin.net是IP

whois的root

server,標準的IP

whois查詢方法是,首先向whois.apin.net查詢某個IP屬於哪個大區,然後再向該區的whois

伺服器查詢此IP的whois詳細信息。

目前負責

IPV4的大區

whois.arin.net

美洲區

北美

whois.apnic.net

亞太區

包括亞洲和澳大利亞

whois.ripe.net

歐洲區

歐洲/中東(西亞)/北非

whois.lacnic.net

拉美區

拉丁美洲和加勒比海區域

非洲網路的IP查詢也在whois.arin.net

向某個whois伺服器提交whois查詢的過程

打開一個到whois伺服器的43埠的連接,然後發送要查詢的域名

和一個回車換行。如果要查詢多個域名,請用空格分開然後從sokect中讀取結果。最後伺服器將自動斷開連接。

用PHP實現

1.驗證IP(用

ip2long代替

ereg)

2.向

whois.arin.net查詢,如果資料庫中沒有相關信息,會給出一個Referral

Server的URL,格式如下

ReferralServer:

然後根據此信息,繼續查詢

代碼如下

whoisip.php

?php

include_once

“lang.inc.php”;

$IP

=

isset($_GET[‘ip’])?$_GET[‘ip’]:’blank’;

if

(-1

===

ip2long($ip))

die(str_replace(‘%IP%’,

$IP,

$Text[‘ip_invalid’]));

echo

GetWhois($IP);

function

GetWhois($IP)

{

global

$Text;

$rootwhois

=

‘whois.arin.net’;

$buffer

=

str_replace(‘%SERVER%’,

$rootwhois,

$Text[‘sock_connect’]);

$buffer1

=

ReadSocket($rootwhois,$IP);

if

($buffer1

!==

”)

{

$whois

=

SubStrByTag(“ReferralServer:

whois://”,”\n”,$buffer1);

//remove

port

number

“:43”;

if

(

($pos=strpos($whois,”:”))

!==

FALSE)

{

$whois

=

substr($whois,

0,$pos);

}

if

($whois

!==

”)

{

$buffer

.=

str_replace(‘%SERVER%’,

$whois,

$Text[‘sock_connect’]);

$buffer

.=

ReadSocket($whois,$IP);

}

else

{

$buffer

.=

$buffer1;

}

}

return

nl2br($buffer);

}

function

SubStrByTag($firstTag,$secondTag,$longStr)

{

$firstPos

=

strpos

($longStr,$firstTag);

$ret

=

”;

if

($firstPos

!==

FALSE)

{

$secondPos

=

strpos

($longStr,$secondTag,$firstPos);

if

($secondPos

!==

FALSE)

{

$firstPos

+=

strlen($firstTag);

$ret

=

substr($longStr,$firstPos,$secondPos-$firstPos);

}

}

return

$ret;

}

function

ReadSocket($whois,$ip)

{

global

$Text;

$buffer

=

”;

if

(!$sock

=

fsockopen(

$whois,

43,

$errNum,

$errStr,

20))

{

$buffer

=

str_replace(‘%SERVER%’,

$whois,

$Text[‘sock_fail’]);

}

else

{

fputs($sock,”$ip\n”);

//$buffer

=

fread($sock,

8192);

while(!feof($sock))

$buffer.=fgets($sock,

8192);

fclose($sock);

}

return

$buffer;

}

?

語言文件:

lang.inc.php

?php

$Text

=

Array(

‘ip_invalid’=’I

want

to

get

a

valid

IP,

but

it

is

[%IP%].’,

‘sock_connect’=’Ask

%SERVER%

‘,

‘sock_fail’=’Cannot

connect

to

the

host:%SERVER%’

);

?

其他有名的whois伺服器

1.Tucows

(whois.opensrs.net)

一次只能一個連接

dnsstuff就是查詢的它

2.BulkRegister

(whois.bulkregiter.net)

小心它臨時封IP,如果大量連接的話

3.Network

Solutions

(whois.networksolutions.com)

一天只能查1000次

4.Go

Daddy

(whois.godaddy.com)

5.whois.abuse.net

怎樣在自己建的網站上添加「域名查詢」的功能?

找一個不需要圖形驗證的網站,用asp或php寫一個提交查詢再讀取結果的程序就可以了。

或者去

進入下載中心

點ASP

然後在左邊搜索 「域名查詢」

下面就是你要的

推薦:

1)

支持asp

2)

支持php

域名查詢介面修改 高手進 高分!

域名查詢系統重在介面,有了查詢介面,什麼都能自己完成.當然介面也不是很好找的,有很多收費的,收費的速度快,限制少.

一般網上朋友都用萬網介面,我感覺還行,有的朋友說不好.

還有這個:

,也提供域名查詢介面.

比如萬網的介面,很方便,直接用file_get_contents()提交查詢,再用正則找出pre之間的內容.根據Domain

Status的值判斷是否被註冊了.如果沒有註冊整個pre之間的內容就是:no

matching

record.當然如果域名本身不合法也會出現這個,所以先做好域名是否合法的判斷.我寫了個很簡單的提取pre內容的,可以參考一下.每個人的方法都不一樣,有好也有壞,慢慢研究吧.

?php

$domain

=

‘chinanet.cn’;

$cha

=

‘.$domain.’GO=GO’;

$fp

=

file_get_contents($cha,’rb’);

$fp

=

preg_replace(‘|\n|’,’br’,$fp);

$arr

=

array();

preg_match(“|pre.*\/pre|”,$fp,$arr);

echo($arr[0]);

?

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/286867.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-23 03:48
下一篇 2024-12-23 03:49

相關推薦

  • Kubesphere私有域名配置

    本文將從以下幾個方面介紹如何在Kubesphere中配置私有域名: 一、什麼是Kubesphere私有域名 Kubesphere是基於Kubernetes的開源多雲容器化平台,它允…

    編程 2025-04-29
  • Java 監控介面返回信息報錯信息怎麼處理

    本文將從多個方面對 Java 監控介面返回信息報錯信息的處理方法進行詳細的闡述,其中包括如何捕獲異常、如何使用日誌輸出錯誤信息、以及如何通過異常處理機制解決報錯問題等等。以下是詳細…

    編程 2025-04-29
  • 兩個域名指向同一IP不同埠打開不同網頁的實現方法

    本文將從以下幾個方面詳細闡述兩個域名指向同一個IP不同埠打開不同網頁的實現方法。 一、域名解析 要實現兩個域名指向同一個IP不同埠,首先需要進行域名解析。在域名解析的時候,將這…

    編程 2025-04-28
  • Python介面自動化測試

    本文將從如下多個方面對Python編寫介面自動化進行詳細闡述,包括基本介紹、常用工具、測試框架、常見問題及解決方法 一、基本介紹 介面自動化測試是軟體測試中的一種自動化測試方式。通…

    編程 2025-04-27
  • Jadoor門鎖開發介面接入指南

    本文將從多個方面詳細介紹如何將門鎖接入Jadoor平台的開發介面,方便開發者們快速實現門鎖遠程控制、開鎖記錄查看等功能。 一、Jadoor門鎖開發介面簡介 Jadoor是一款用於密…

    編程 2025-04-27
  • 後端介面設計開發經驗分享

    在受到前端某些限制或特殊需求時,後端介面的設計和開發顯得尤為重要。下面從以下幾個方面進行講述。 一、命名規範 合理的命名規範可以大大提高介面的可讀性和可維護性。以下是一些命名規範的…

    編程 2025-04-27
  • 期貨數據介面 Python:打通數字資產交易數據的關鍵

    本文將從以下幾個方面討論期貨數據介面 Python: 一、數據介面簡介 期貨數據介面是指為期貨從業人員提供用於獲取歷史、實時及未來交易數據的工具。Python是一種常用的編程語言,…

    編程 2025-04-27
  • 如何快速發布http介面

    想要快速發布http介面,可以從以下幾個方面入手。 一、選擇合適的框架 選擇合適的框架對於快速發布http介面非常重要。目前比較受歡迎的框架有Flask、Django、Tornad…

    編程 2025-04-27
  • Javaweb 介面返回數據的定義與實現

    本文將介紹 javaweb 如何定義介面返回數據,並提供相應的代碼示例。 一、介面返回數據的定義 在 javaweb 開發中,我們經常需要通過介面返回數據。介面返回的數據格式通常是…

    編程 2025-04-27
  • Postman介面自動化

    一、安裝和使用Postman Postman是一個強大的API測試工具,可以使用它來測試各種類型的API請求和響應。在進行介面自動化測試之前,首先需要安裝和使用Postman。以下…

    編程 2025-04-25

發表回復

登錄後才能評論