We can get any domain information using Apache commons net library. It supports various protocols and WHOIS information is one of them
WhoisClient class provides access of domain information
See what docs says -
The WhoisClient class implements the client side of the Internet Whois Protocol defined in RFC 954. To query a host you create a WhoisClient instance, connect to the host, query the host, and finally disconnect from the host. If the whois service you want to query is on a non-standard port, connect to the host at that port.
Download required library or if this link doesn't work then goto API page and download from there
This simple java method will fetch information of domain using Apache library
Sample ADF Application - Download
Cheers:) Happy Learning
WhoisClient class provides access of domain information
See what docs says -
The WhoisClient class implements the client side of the Internet Whois Protocol defined in RFC 954. To query a host you create a WhoisClient instance, connect to the host, query the host, and finally disconnect from the host. If the whois service you want to query is on a non-standard port, connect to the host at that port.
Download required library or if this link doesn't work then goto API page and download from there
This simple java method will fetch information of domain using Apache library
import org.apache.commons.net.whois.WhoisClient; /**Method to get domain WhoIs information using Apache Commons Net API * @param domainName * @return */ public String getWhoisDomainInformation(String domainName) { StringBuilder info = new StringBuilder(""); WhoisClient whois = new WhoisClient(); try { whois.connect(WhoisClient.DEFAULT_HOST); String data = whois.query("=" + domainName); info.append(data); whois.disconnect(); } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return info.toString(); }
- Now created an ADF Application and a page in viewController project
- Added library (commons-net jar file) in viewController project
- Here i am using one button and two input text, first one to enter domain name and second one is to show fetched WHOIS information
- On button click i have called above method and passed domain name (To get domain name use component binding of inputText) and to show fetched information a String variable is mapped with second inputText
- All Done :) , Run and check application
See Managed Bean code and Page XML Source (How it is mapped) -
//String to store domain information and to show on page in second inputText private String domainInfoDet; //First Input Text component binding to get domain name in managed bean private RichInputText domainNameBind; public void setDomainInfoDet(String domainInfoDet) { this.domainInfoDet = domainInfoDet; } public String getDomainInfoDet() { return domainInfoDet; } public void setDomainNameBind(RichInputText domainNameBind) { this.domainNameBind = domainNameBind; } public RichInputText getDomainNameBind() { return domainNameBind; } /**Action Listener to execute method on button click * @param actionEvent */ public void getDomainInfoAction(ActionEvent actionEvent) { //domainNameBind is component binding of first inputText if (domainNameBind.getValue() != null) { String domainName = (String) domainNameBind.getValue(); //Set WHOIS info in string to show on page (Second InputText) domainInfoDet = getWhoisDomainInformation(domainName); } }
XML Source of Page-
<af:form id="f1"> <af:panelBox text="Domain Information" id="pb1" showDisclosure="false"> <f:facet name="toolbar"/> <af:panelGroupLayout id="pgl1" layout="vertical" halign="center"> <af:panelGroupLayout id="pgl2" layout="horizontal"> <af:inputText label="Domain Name" id="it1" contentStyle="width:250px;padding:10px;color:red;font-weight:bold;font-size:medium;" labelStyle="font-weight:bold;color:black;" binding="#{viewScope.DomainInformationBean.domainNameBind}" autoSubmit="true"/> <af:button text="Get Information" id="b1" inlineStyle="font-weight:bold;" actionListener="#{viewScope.DomainInformationBean.getDomainInfoAction}"/> </af:panelGroupLayout> <af:inputText label="Label 1" id="it2" contentStyle="width:600px;color:#405d9a;font-weight:bold;" simple="true" rows="40" value="#{viewScope.DomainInformationBean.domainInfoDet}" partialTriggers="b1" clientComponent="true"/> </af:panelGroupLayout> </af:panelBox> </af:form>
Sample ADF Application - Download
Cheers:) Happy Learning
No comments :
Post a Comment