0
我試圖使用列表中的FtpWebRequest類背後HTTP代理
private IEnumerable<ResourceInfo> EnumerateResources(Stream stream)
{
StreamReader reader = new StreamReader(stream);
string line = null;
while ((line = reader.ReadLine()) != null)
{
yield return new ResourceInfo(this, line);
}
}
public override IReadOnlyList<ResourceInfo> GetResources()
{
FtpWebRequest req = (FtpWebRequest)WebRequest.Create(Url);
req.Method = WebRequestMethods.Ftp.ListDirectory;
req.Credentials = Credentials;
using (var resp = (FtpWebResponse)req.GetResponse())
{
using (var stream = resp.GetResponseStream())
{
return EnumerateResources(stream).ToReadOnly();
}
}
}
這在大多數情況下,確定從FTP地址文件FTP LIST目錄。 但是,當我在HTTP代理後面時,響應流的內容包含一個HTML頁面 ,該頁面列出和標籤中的文件。有沒有優雅的方式來處理這個問題,或者我應該試着手工解析HTML。
我已經開發了一個hack從代理生成的HTML中提取數據。如果有更優雅的方式去做,我只是在徘徊 – 2010-11-08 10:55:12