FTP从VB.NET UPLOAD到AS / 400

时间:2010-11-23 18:48:19

标签: vb.net upload ftp ibm-midrange

我正在尝试使用VB.NET对AS / 400 IBM Mainframe执行FTP Put功能。我能够上传文件,但我需要能够捕获来自大型机的每个输出响应以进行日志记录。简而言之,如果我要手动执行FTP,则会捕获在cmd屏幕上打印的内容。任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

根据您使用的库,您应该能够从FTP服务器获取您提交的每个命令的某种响应对象或字符串。然后,您可以解析这些响应并将其转储到您选择的文件/目标/源中。

编辑:由于您正在使用FTPWebRequest / Response库,因此您需要让您的FTPWebRequest对象将其结果转储到FTPWebResponse对象中,然后使用以下代码读取整个流:

Dim request As FtpWebRequest = DirectCast(WebRequest.Create(serverUri), FtpWebRequest)
request.Method = WebRequestMethods.Ftp.ListDirectory

Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)

Dim responseStream As Stream = Nothing
Dim readStream As StreamReader = Nothing

Try
    responseStream = response.GetResponseStream()
    readStream = New StreamReader(responseStream, System.Text.Encoding.UTF8)

    If readStream IsNot Nothing Then
        Console.WriteLine(readStream.ReadToEnd())
    End If

    Console.WriteLine("List status: " & response.StatusDescription)

Finally

    If readStream IsNot Nothing Then
        readStream.Close()
    End If

    If response IsNot Nothing Then
       response.Close()
    End If
End Try

    Return True
End Function

您应该能够根据自己的需要定制此代码,以便检索所需的响应详细信息。