2010-11-23 93 views
0

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

+0

您使用哪个API /库发布FTP会话? – 2010-11-23 18:57:49

回答

0

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

编辑:由于您使用的FtpWebRequest /响应库,你会希望有你的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 

您应该可以根据自己的需要定制此代码,以便检索您需要的回复详细信息。

+0

下面是我一直在尝试使用的代码: – Corin 2010-11-23 19:06:15