gpt4 book ai didi

c# - 是否可以使用 FtpWebRequest 执行 "Active"模式 FTP?

转载 作者:可可西里 更新时间:2023-11-01 08:36:12 26 4
gpt4 key购买 nike

由于一些防火墙问题,我们需要使用“主动”模式执行 FTP(即不是通过启动 PASV 命令)。

目前,我们使用的代码如下:

// Get the object used to communicate with the server.
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/test.htm");
request.Method = WebRequestMethods.Ftp.UploadFile;

// This example assumes the FTP site uses anonymous logon.
request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");

// Copy the contents of the file to the request stream.
StreamReader sourceStream = new StreamReader("testfile.txt");
byte [] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
request.ContentLength = fileContents.Length;

Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();

FtpWebResponse response = (FtpWebResponse)request.GetResponse();
response.Close();

但这似乎默认使用被动模式;我们能否影响它以强制它使用主动模式上传(与命令行 ftp 客户端的方式相同)?

最佳答案

是的,设置UsePassive属性为 false。

request.UsePassive = false;

关于c# - 是否可以使用 FtpWebRequest 执行 "Active"模式 FTP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5394090/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com