获取FTP欢迎横幅

 收藏

嗨,有没有办法获得FTP欢迎横幅(不是欢迎消息,而是横幅)?我正在尝试使用FTP通过网络发现多个AXIS安全摄像机。当我尝试使用cmd.exe通过FTP进入摄像机时,摄像机的回答如下:

C:\>ftp <ip address of camera>
Connected to <ip address of camera>
220 Axis 2100 Network Camera 2.12 Feb 05 2001 ready.  <-------
User (<ip address of camera>:(none)):

我想要得到的只是“ 220 Axis 2100 ...”部分。我已经尝试过将ftp命令发送到cmd并读取StandardOutput,但是这没有帮助,它只是跳过了这一部分,就像它实际上不是cmd进程的一部分:(.。

有没有办法获得“ 220 Axis 2100 ...”部分!?

非常感谢您的帮助!

回复
  • Broken 回复

    谢谢马里吉。那实际上不是我的问题。我最初的问题是如何从FTP会话中取消欢迎标语。我将宣布此帖子已解决,因为我设法通过使用套接字来做到这一点。如果有人感兴趣,请给我发送PM,我将与他/她分享代码。

    再次感谢!

  • ad_est 回复

    我认为值得在这里发布答案,这样每个人都可以看到。

  • 疯癫范er 回复

    我将使用String.SubString方法和String.IndexOf方法。

    BannerMessage = "Connected to <ip address of camera>" & vbCrLf &
                    "220 Axis 2100 Network Camera 2.12 Feb 05 2001 ready." & vbCrLf &
                    "User (<ip address of camera>:(none)):"
    
    ' extract Axis position (2100)
    
    ' check the line for the word Axis.
    If BannerMessage.Contains("Axis") Then
        ' split the message into words.
        Dim Words() As String = BannerMessage.Split(" "c)
        Dim AxisPos As Integer
    
        For i = 0 To Words.Length - 1
            Dim Word As String = Words(i)
    
            If Word = "Axis" Then
                ' we have found the Axis. get the word after the axis.
                 Dim Position As String = Words(i + 1)
    
                 ' convert the word into an integer.
                 AxisPos = Integer.Parse(Position)
    
                Exit For
            End If
    
        Next
    End If
    
    ' Display the Axis Position; in this case 2100
    MsgBox(AxisPos)