0
我在密碼中使用帶有特殊字符「§」的FtpWebRequest時出現問題。 的代碼看起來是這樣的:C#FtpWebRequest - 密碼中的特殊字符「§」
FtpWebRequest reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://ftphost"));
reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
reqFTP.UsePassive = true;
reqFTP.EnableSsl = false;
reqFTP.Timeout = 60000;
reqFTP.UseBinary = false;
reqFTP.Credentials = new NetworkCredential("user", "pa§");
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
的的GetResponse() - 方法失敗, 「530用戶無法登錄」。 使用FileZilla登錄工作。
我跟蹤網絡流量使用Wireshark,並注意到以下幾點:
- FileZilla的轉換密碼「啪\ 302 \ 247」,嘗試登錄並失敗。之後,FileZilla重新嘗試連接成功的密碼「pa \ 247」。
- FtpWebRequest將密碼轉換爲「pa \ 302 \ 247」,嘗試登錄並失敗,並引發異常。
如何強制FtpWebRequest將密碼轉換爲「pa \ 247」而不是「pa \ 302 \ 247」?
謝謝。
謝謝。您提供的代碼會引發此異常: 「InvalidOperationException:此集合包含響應標頭並且不能包含指定的請求標頭。」 我試圖添加標頭: reqFTP.Headers.Add(「ContentType:text/plain; charset = \」ISO-8859-1 \「」); 哪些沒有拋出任何異常。 但它沒有解決問題。 – k3flo