2009-09-27 36 views
1

問題:任何人有一些代碼,他們可以發佈,這將下載從URL /鏈接的文件會自動處理: (一)二進制或基於文本的 (B)的gzip編碼用於下載項目的C#代碼,用於檢查文本/二進制文件和gzip /非壓縮文件?

背景:我一直開始這樣做,但遇到障礙。就像我使用WebClient,但它似乎無法處理gzip位(需要退回到HTTPWebRequest)。另外,我對如何判斷鏈接/ URL(例如,從HTML頁面獲取)是真正的文本還是二進制文件有點困惑。是否有一個所有內容類型的列表,將是TEXT,還是那些將是BINARY的?

感謝

+2

也許如果你能告訴我們你到目前爲止的代碼?人們一般不喜歡只寫你的代碼,你 – annakata

+0

我剛纔已經回答你http://stackoverflow.com/questions/678547/does-nets-httpwebresponse-uncompress-automatically-gziped-and-deflated-response –

回答

1

您可以檢查對響應的頭部ContentType標頭,主要的所有文字類型的「文本/ *」喜歡「的text/html」,「文本/ XML」開頭的等等等等,但這裏是一個可用的內容類型列表。 「應用程序/ JavaScript」等也是基於文本的,但它們屬於不同的類別。

Content Types

+0

也許最簡單的方法可能是將所有內容下載爲二進制文件,然後檢查gzip的內容編碼並解壓縮(即不是獲取哪些文件可以作爲字符串下載,哪些文件可以作爲二進制文件下載)被gzip壓縮和解壓需要及沒有,只是更簡單)... – Greg

+0

所以實際上它實際上只是僞代碼,我後,所以如何決策分支會尋找一個通用的文件下載方法。例如。如何進行以下檢查: - 內容類型檢查:二進制或文本 - 內容編碼檢查:未壓縮或gzip – Greg