2012-11-06 31 views
0

我正在尋找一種方法來「掃描」我的web位置(使用流和webrequest/webresponse)來找出哪些文件在特定的文件夾中。 我想列出這些文件。通過webrequest和webresponse獲取文件c#

這可能嗎?我在網上嘗試了幾個例子,但沒有一個給我我想要的文件列表。

Webdav和其他本地選項是沒有解決方案,因爲我的web位置不能綁定到。

如果還有其他解決方案(例如使用webclient或其他任何方法,請告訴我,我也很樂意聽到這個消息!),我不僅限於webrequest和webresponse。

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sharepointsiteUrl); 
    request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"; 
+0

什麼是「網站位置」?正在使用什麼協議? – CodeCaster

+0

@CodeCaster httpwebrequest和httpwebresponse。網址是一個共享點位置(我沒有使用共享點服務器) – Rob

+0

又一次,什麼是「網址」?你如何解決它?你如何在其中寫入文件?你如何下載文件? – CodeCaster

回答

1

如果未配置目錄瀏覽,則無法強制Web服務器爲您提供文件列表。

+0

我可以上傳和下載文件到這個位置(通過webrequest和webclient)。所以我認爲掃描文件應該也是可能的?請糾正我,如果我錯了。 – Rob

+0

@Robuust這是兩個單獨的權限。 [此鏈接](http://technet.microsoft.com/en-us/library/cc731109(v = ws.10).aspx)包含有關如何檢查目錄瀏覽是啓用還是禁用的信息。你不是說你的問題,但我假設你在這裏與IIS一起滾動。如果你不是,你可能只是谷歌「(你的服務器軟件)目錄瀏覽」和方法來檢查它會出現。 – tmesser

+0

@YYY的確是IIS。立即檢查您的網址,謝謝 – Rob

1

你問的基本上沒有被HTTP 1.1標準定義。

已經有一些HTTP定義的擴展允許這樣的行爲 - 一些專有的(如MS的Frontpage)和一些標準化的(如WebDAV)。

其他可能的選項有: 如果您的Web服務器配置爲通過HTML返回一個目錄列表(也稱爲目錄瀏覽,不推薦使用,因爲它會帶來潛在的安全問題),或者是運行某些FTP守護進程或...

我強烈推薦WebDAV,因爲它是標準化的並且基於HTTP。

BTW:剛剛添加到您的問題的URL提及SharePoint-IIRC Sharepoint has an HTTP-based API(例如,請參閱here),也可以配置爲提供WebDAV access