【Java】Telnet 获取报头信息方法

本文介绍了一个使用Java实现的Telnet登录测试方法,通过解析接收到的数据来区分报头和实际登录信息。该方法利用字符判断逻辑实现了对特定字符的过滤,并能够正确输出欢迎信息及设备型号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

new 主类(ip,port), 其构造函数中直接连接

public String routeTest() throws IOException, Exception {
			int headchar;
			InputStreamReader isr = new InputStreamReader(in,getRoute_Read_mode());
			while ((headchar = isr.read()) != -1 ) {
				System.out.print((char) headchar);
				if( !Character.isLetterOrDigit(  (char)headchar ) //非数字 非字母 不包含一下字符
						&& (char)headchar !=' '
						&& (char)headchar !=':' 
						&& (char)headchar !='.' 
						&& (char)headchar !='\r'
						&& (char)headchar !='\n'
						&& (char)headchar !=';'
						&& (char)headchar !='='
						&& (char)headchar !='('
						&& (char)headchar !=')') {
					
					head += (char) headchar;//报头 
				}
				else{
					head_info += (char) headchar;//默认方式登录 能看到的信息
				}	
				if(isr.ready() == false){  	//读完  break
					System.out.print("\n读取 阻塞  break!!");
					break;
				}
			}
	        System.out.println("报头:\t"+head);
	        System.out.println("信息:\t"+head_info.trim());
	       
	        
			this.disconnect_Route();//断开 连接
			return head_info;
		}


D:\>java -jar telnet_head.jar xxx.xxx.xxx.xx-xxx

报头: ????????????(存为char )
信息: Welcome Visiting Huawei  Home Gateway

Copyright by Huawei Technologies Co. Ltd.
Login:


报头: ??????!????
信息: F660
Login:


报头: ??????!????
信息:(none) login:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值