【发布时间】:2017-07-18 01:17:23
【问题描述】:
我想在 c# 中通过 telnet 连接到 cisco 交换机。我想用 c# 在 cmd 中发送命令,当它要求输入密码时,我想用我的程序输入它。但是我的问题是连接到telnet时无法发送密码。当我使用StreamWriter时它会抛出异常。
这是我的代码:
class Program
{
static void Main(string[] args)
{
string data = "";
StreamReader reader = new StreamReader(@"C:\Windows\System32");
StreamWriter writer = new StreamWriter(@"C:\Windows\System32");
IPAddress address = IPAddress.Parse("172.16.0.110");
IPEndPoint ipe = new IPEndPoint(address, 23);
Socket telnetSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);
telnetSocket.Connect(ipe);
NetworkStream NsStream = new NetworkStream(telnetSocket, true);
if (telnetSocket.Connected)
{
NsStream = new NetworkStream(telnetSocket, true);
reader = new StreamReader(NsStream);
}
while (!reader.EndOfStream)
{
data = reader.ReadLine();
if (data.Contains("Password:"))
{
//I want to enter password in cmd here
}
}
reader.Close();
if (NsStream == null)
NsStream.Close();
}
}
【问题讨论】:
-
....抛出什么异常?
-
您是否考虑过使用
TcpClient来简化事情? msdn.microsoft.com/en-us/library/…