【发布时间】:2010-11-23 18:48:19
【问题描述】:
我正在尝试使用 VB.NET 对 AS/400 IBM 大型机执行 FTP Put 功能。我可以上传文件,但是,我需要能够从大型机捕获每个输出响应以用于记录目的。简而言之,如果我要手动执行 FTP,请捕获 cmd 屏幕上打印的内容。任何建议将不胜感激。
【问题讨论】:
-
您使用哪个 API/库来发出 FTP 会话?
标签: vb.net upload ftp ibm-midrange
我正在尝试使用 VB.NET 对 AS/400 IBM 大型机执行 FTP Put 功能。我可以上传文件,但是,我需要能够从大型机捕获每个输出响应以用于记录目的。简而言之,如果我要手动执行 FTP,请捕获 cmd 屏幕上打印的内容。任何建议将不胜感激。
【问题讨论】:
标签: vb.net upload ftp ibm-midrange
根据您使用的库,您应该能够为您提交的每个命令从 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
您应该能够根据自己的情况定制此代码,以便检索您需要的响应详细信息。
【讨论】: