什麼是最好的方式讓我採取像這樣的網址:http://foobar.com/foo.torrent並檢查是否真的是一個洪流,而不是一個HTML頁面或其他有趣的東西。 建議? 謝謝:)檢查URL是否是C#.NET中的洪流
回答
閱讀torrent文件規範,然後編寫一個C#應用程序來下載URL的內容,看它是否符合規範中的規則。
可能最好是下載並驗證它和/或檢查內容類型是application/x-bittorrent
。
請注意,許多Web服務器不提供具有正確內容類型的文件。因此,如果Web服務器返回內容類型的「application/octet-stream」,那麼文件仍然是一個torrent文件仍然不是不可能的。 – dtb 2010-04-28 18:27:11
要知道它是否真的是torrent文件的唯一方法是下載它並檢查它是否是torrent file。
如果您願意學習一些C++,您可以使用P/Invoke對libtorrent庫進行外部調用我很確定它有一種驗證文件的方法。
要檢查資源的類型,而無需下載,使用HEAD請求:
WebRequest request= WebRequest.Create("http://foobar.com/foo.torrent");
request.Method= "HEAD";
WebResponse response= request.GetResponse();
if (response.Headers.Get("Content-Type")=="application/x-bittorrent") {
...
然而,類型application/x-bittorrent
可能無法在某些服務器設置,所以這是可能的,你可能會得到application/octet-stream
相反,如果你不走運,甚至可以使用text/plain
。如果您需要解釋這一點,那麼您所能做的只是使用正常的GET請求來獲取文件,然後查看是否可以對其進行解碼。
BitTorrent文件格式基於一種名爲'bencode'的格式。 Here's聲明處理它的.NET庫。您可以猜測任何有效的文件bencode是torrent文件,但是如果您想確保可以查看它解碼的映射並檢查info
和announce
屬性。
不錯的發現和很好的解釋! +1 – tobsen 2010-04-28 18:43:57
除了bobince提供的良好答案外,您還可以看看monotorrent開源c#實現。他們下載整個.torrent文件並在之後解析該bencode(比較:http://anonsvn.mono-project.com/viewvc/trunk/bitsharp/src/MonoTorrent/MonoTorrent.Common/Torrent.cs行611ff)
我會使用MonoTorrent庫。具體來說,你可以使用靜態方法
Torrent.TryLoad(Uri url, string location, out Torrent torrent)
將返回指示是否url
參數指向一個有效的torrent文件boolean值。
- 1. 檢查流式URL是否有效
- 2. C#.NET檢查對象是否爲空
- 3. 檢查m3u8是否有流c#
- 4. Objective-C - 檢查URL是否存在
- 5. C#.Contains()檢查它是否爲URL
- 6. 檢查流是否爲空
- 7. 檢查url是否有效
- 8. 檢查URL是否存在
- 9. 檢查URL是否爲Google
- 10. 檢查是否URL =所需的URL(PHP)
- 11. 如何檢查相對URL是否是PHP中的當前URL?
- 12. 檢查URL是否是使用webclient c的下載鏈接#
- 13. 檢查字符串是否是Spotify URL
- 14. 如何檢查null是否在流中?
- 15. 如何檢查是否字符串是在C#.NET空
- 16. 檢查路徑是否在url中
- 17. 檢查Ruby中是否存在URL
- 18. 在PHP中檢查URL是否存在
- 19. 檢查是否使用C#
- 20. C#如何檢查是否
- 21. 檢查文件夾是否只讀在C#中.net
- 22. 檢查是否有Back按鈕的URL
- 23. 如何在C++中檢查輸出流是否爲std :: cout?
- 24. 如何檢查int是否是.NET中的合法HttpStatusCode?
- 25. 如何檢查.NET中的字符串是否是數字?
- 26. VB .NET,檢查是否存在DLL
- 27. vb net +檢查Textbox1是否<Texbox2
- 28. .Net中是否有內置的URL類?
- 29. 檢查NodeJS ClearTextStream流是否「結束」?
- 30. 檢查工作流是否被使用?
爲什麼所有的反對票?我認爲這是一個相關的問題。 – 2010-04-28 18:25:55
我想有些人看到'洪流'一詞,立即去「盜版是不好的」,並downvote。 – bobince 2010-04-28 18:41:06