Java实现Socket之WhoisClient

代码内容

  • 从常用的whois服务器的43号端口得到对应域名的所有注册信息并显示出来

代码实现

/* WhoisClient.java */
import java.io.*;
import java.net.*; public class WhoisClient {
public static void main(String[] args) {
BufferedReader systemIn = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the domain names. Enter \"exit\" to quit.");
try {
while (true) {
/* 输入流提示控制 */
System.out.print("> ");
String host = (args.length > 0) ? args[0] : systemIn.readLine();
if (host.isEmpty()) {
continue;
} else if (host.equalsIgnoreCase("exit")) {
break;
}
whois(host);
if (args.length > 0)
break;
}
} catch (IOException e) {
e.printStackTrace();
}
} private static void whois(String host) {
try {
/* 设置服务器地址和端口号 */
InetAddress server = InetAddress.getByName("whois.markmonitor.com");
int port = 43;
/* 建立Socket连接 */
Socket socket = new Socket(server, port);
/* 写入发送消息到Socket */
PrintWriter out = new PrintWriter(socket.getOutputStream());
out.println(host);
out.flush();
/* 从Socket读取消息 */
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
/* 格式化输出 */
StringBuilder ret = new StringBuilder();
String line;
while ((line = in.readLine()) != null) {
ret.append(line + "\r\n");
}
/* 安全关闭Socket */
socket.close();
/* 结果输出判断 */
if (ret.toString().trim().isEmpty()) {
System.out.println("该域名不在whois上注册");
} else {
System.out.println(ret.toString());
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

运行截图







Java实现Socket之WhoisClient的更多相关文章

  1. Java发送socket请求的工具

    package com.tech.jin.util; import java.io.ByteArrayOutputStream; import java.io.IOException; import ...

  2. java基于socket公共聊天室的实现

    项目:一个公共聊天室功能的实现,实现了登录聊天,保存聊天记录等功能. 一.实现代码 1.客户端 ChatClient.java import java.io.BufferedReader; impor ...

  3. JAVA之Socket编程

    网上对Socket的诠释很多,也很全,在这里我就不多说了,总之,现在的网络处处都在使用Socket.本帖是一个Socket的例子,用来模拟一个简单的登录系统,只有核心代码,访问数据库.输入神马的统统没 ...

  4. Java多线程Socket在控制台输出的多人聊天室编程

    服务器端代码 import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java ...

  5. Java 多线程Socket编程通讯--实现聊天室代码

    1.创建服务器类 import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import ja ...

  6. 简单通过java的socket&serversocket以及多线程技术实现多客户端的数据的传输,并将数据写入hbase中

    业务需求说明,由于公司数据中心处于刚开始部署的阶段,这需要涉及其它部分将数据全部汇总到数据中心,这实现的方式是同上传json文件,通过采用socket&serversocket实现传输. 其中 ...

  7. java之socket

    socket系java中网络编程的内容. 1客户端: package com.wtd.socket; import java.io.BufferedReader; import java.io.IOE ...

  8. Java实现Socket之TimeClient

    Java实现Socket之TimeClient 代码内容 从time.nist.gov服务器的37号端口得到时间信息,并对时间进行解析后显示出来 代码实现 /* TimeClient.java */ ...

  9. Flex通信-与Java实现Socket通信实例

    Flex通信-与Java实现Socket通信实例  转自:http://blessht.iteye.com/blog/1136888 博客分类: Flex 环境准备 [服务器端] JDK1.6,“ja ...

随机推荐

  1. flask页面操作gpn接口

    https://wizardforcel.gitbooks.io/flask-extension-docs/content http://cabeza.cn/blog/2016/02/28/datat ...

  2. projecteuler Sum square difference

    The sum of the squares of the first ten natural numbers is, 12 + 22 + ... + 102 = 385 The square of ...

  3. 抢滩登陆游戏android源码

    是3d游戏开发技术详解与技术案例书里的一个例子 不多说上图{:soso_e113:} 源码下载地址:http://code.662p.com/view/2271.html <ignore_js_ ...

  4. CentOS学习笔记--系统服务 (daemons)

    系统服务 (daemons) 系统为了某些功能必须要提供一些服务 (不论是系统本身还是网络方面),这个服务就称为 service . 但是 service 的提供总是需要程序的运行吧!否则如何运行呢? ...

  5. wamp+zendstudio12+xDebugger环境搭建

    1.网上找到Wampserver,下载即可,一路安装即可,安装好后打开浏览器输入http://localhost即可看到有没有安装成功 比如我的是这样的,就说嘛wampserver安装成功了 wamp ...

  6. 反编译工具(.NET Reflector )

    1.下载安装原程序,然后运行 Reflector.exe 2.运行注册机,点击 Generate 获得序列号 3.把序列号填写到 Reflector 软件上4.断开网络,点击 Activate 激活( ...

  7. Cassandra 技术选型的问题

    Cassandra在国内资料少,用的也不多,大家更多抱观望态度吧. 为了扩大Cassandra队伍帮助自己采坑,决定写一篇文章,就自己对Cassandra的理解范围进行介绍. 选用Cassandra的 ...

  8. 在c#中使用mongo-csharp-driver操作mongodb

    1)下载安装 下载地址:http://github.com/mongodb/mongo-csharp-driver/downloads 编译之后得到两个dll MongoDB.Driver.dll:顾 ...

  9. MSSQL 所有表中模糊查询

    --搜索指定数据在那个对象中存在.txt(所有表中模糊查询) CREATE PROC sp_ValueSearch @value sql_variant, --要搜索的数据 @precision bi ...

  10. DevExpress XtraGrid 数据导出导入Excel

    // <summary> /// 导出按钮 /// </summary> /// <param name="sender"></param ...