URL을 가져 오는 가장 좋은 방법은 무엇입니까? http://foobar.com/foo.torrent과 같은 것이고, 실제로는 급류가 아닌 html 페이지가 아닌지 확인하십시오. 제안 사항? 고맙습니다.URL이 C# .NET의 토런트인지 확인하십시오.
답변
토런트 파일 사양을 읽은 다음 URL 내용을 다운로드하고 사양의 규칙을 충족하는지 확인하기 위해 C# 응용 프로그램을 작성하십시오.
아마도 다운로드하고 유효성을 검사하거나 콘텐츠 유형을 확인하는 것이 가장 좋은 방법은 application/x-bittorrent
입니다.
많은 웹 서버가 올바른 컨텐츠 유형의 파일을 제공하지 않는다는 점에 유의하십시오. 그래서 웹 서버가 content type의 "application/octet-stream"을 반환한다면 파일이 토렌트 파일이라는 것은 여전히 불가능하지 않습니다. – dtb
실제로 토런트 파일인지 확인하는 유일한 방법은 다운로드하여 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가 토렌트 파일 인 모든 파일을 추측 할 수 있지만 디코드 할 매핑을 확인하려면 info
및 announce
속성을 확인하십시오.
좋은 발견과 좋은 설명! +1 – tobsen
bobince가 제공 한 답변에 덧붙여 monotorrent 오픈 소스 C# 구현을 살펴볼 수도 있습니다. 그들은 전체 .torrent 파일을 다운로드하고 나중에 bencode를 구문 분석합니다 (cf : http://anonsvn.mono-project.com/viewvc/trunk/bitsharp/src/MonoTorrent/MonoTorrent.Common/Torrent.cs lines 611ff).
MonoTorrent 라이브러리를 사용합니다. 특히, 당신은 url
매개 변수의 점 여부 유효한 토런트 파일을 나타내는 부울 값을 반환합니다 정적 메소드
Torrent.TryLoad(Uri url, string location, out Torrent torrent)
를 사용할 수 있습니다.
- 1. URL이 webclient를 사용하여 다운로드 링크인지 확인하십시오. C#
- 2. 리디렉션 URL이 올바른지 확인하십시오.
- 3. PHP를 사용하여 URL이 있는지 확인하십시오.
- 4. .Net의 스키마에 대해 JSON을 확인하십시오.
- 5. C# .NET의 Treenode 재정렬
- 6. C# .Net의 'LibrarySystem.ctrlSeparator'파일이 필요합니다.
- 7. DDD "C# .NET의 모듈"
- 8. C# 및 .NET의 libcurl
- 9. C# .NET의 Environment.CurrentDirectory
- 10. C# .net의 MessageBox
- 11. C# .net의 전역 변수
- 12. C# .Net의 LocalDataCache
- 13. URL이 존재하는 경우 Objective-c
- 14. URL이 내부에서 Jquery를 통해 변경된 경우 iframe을 계속 확인하십시오.
- 15. URL이
- 16. URL이
- 17. URL이
- 18. URL이
- 19. C 파일이 존재하는지 확인하십시오.
- 20. C++ 커서 위치를 확인하십시오.
- 21. C#/NET의 가변 문자열 편집
- 22. C++ .NET의 초보 3D 그래픽
- 23. C# .Net의 웹 보고서 인쇄
- 24. C# .NET의 모든 크래시 잡기
- 25. Excel XLSTART C# /. NET의 문제
- 26. C# /. NET의 설치 공간은 작습니까?
- 27. C# .net의 병렬 포트 액세스
- 28. Java와 C# 및 .NET의 차이점
- 29. C# .Net의 닫힌 폼 감지
- 30. 상대 URL이
왜 모두 다운 투표입니까? 나는 그것이 관련 질문이라고 생각했다. –
나는 어떤 사람들은 '급류'라는 단어를보고 즉시 "불법 복제는 나쁘다"고 downvote라고 생각합니다. – bobince