bill131420 2014-08-25 06:43 采纳率: 0%
浏览 1382

用webBrowser浏览 FTP文件

用webBrowser浏览 FTP文件,用户和密码已经写在程序里,访问的时候仍然需要输入用户名和密码。

FtpWebRequest FtpClient;
Uri uri = new Uri("ftp://192.168.0.1/123/123.pdf");
webBrowser1.Url = uri;
FtpClient = (FtpWebRequest)WebRequest.Create(uri);
FtpClient.Credentials.GetCredential(uri, "user").UserName = "admin";
FtpClient.Credentials.GetCredential(uri, "user").Password = "123";
FtpClient.Credentials.GetCredential(uri, "user").Domain = "192.168.0.1";
FtpClient.Method = WebRequestMethods.Ftp.ListDirectory;

请问哪里出错了?谢谢。

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 12:41
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    你提供的代码中有一个小错误。你需要使用WebRequest对象的构造函数来创建一个新的FTP请求。但是,在这个构造函数中,你应该提供一个Uri对象作为参数,而不是直接调用Create方法。以下是修正后的代码:

    using System.Net;
    using System.IO;
    
    // 假设你的FTP服务器地址是 ftp://192.168.0.1/123/
    string serverUrl = "ftp://192.168.0.1/123/";
    
    // 创建一个新的FTP请求
    WebRequest request = WebRequest.Create(serverUrl);
    request.Method = WebRequestMethods.Ftp.ListDirectory;
    
    // 设置FTP客户端凭据
    Credentials credentials = new NetworkCredential("user", "123");
    request.Credentials = credentials;
    
    try {
        // 执行FTP命令并获取响应
        WebResponse response = request.GetResponse();
    } catch (WebException e) {
        if (e.Response != null)
            Console.WriteLine(e.Response.StatusDescription);
    }
    

    这段代码首先创建了一个新的FTP请求,然后设置了FTP客户端凭据(在这里我们只设置了一个简单的用户名和密码)。最后,它尝试执行FTP命令并将响应发送到控制台。如果发生网络错误或服务器未响应,则捕获WebException并打印错误消息。

    评论

报告相同问题?