我正在尝试使用VB.NET对AS / 400 IBM Mainframe执行FTP Put功能。我能够上传文件,但我需要能够捕获来自大型机的每个输出响应以进行日志记录。简而言之,如果我要手动执行FTP,则会捕获在cmd屏幕上打印的内容。任何建议都将不胜感激。
答案 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
您应该能够根据自己的需要定制此代码,以便检索所需的响应详细信息。