2012-03-31 2 views
0

조금 전에 나는 실 (하단에 링크)을두고 있습니다. 그리고 그것이 부분적으로 수정되었음을 알려 드리게되어 기쁩니다. 여전히 잘못된 YouTube 링크를 사용합니다. 그리고 youtube가 깨진 곳을 찾을 수있는 모든 예제를 계속 업데이트합니다. "정규 표현식"과 관련이 있다고 생각합니다. 누군가 그 주제에 대해 나에게 계몽 수 있습니까? 유튜브 다운로더 클래스 고정하기

이제 한편의 오류 및 : 유형 'System.Net.WebException'처리되지 않은 예외 System.dll을 발생 가격 정보 (403) 금지 : 원격 서버에서 오류를 반환. 라인 22 : wc.DownloadFile (kvp.Value, @ "C : \ Users \ waralot \ Downloads \ youtube \"+ kvp.Key);

컴파일하는 동안 콘솔은 여기에 있습니다 : http://www.hackforums.net/showthread.php?tid=2052105

나의 현재 버전 : 다시 내 첫 번째 스레드는 여기에서 찾을 수 있습니다 http://pastebin.com/2iH2vQ2L

: Converting a Youtube downloader form VB to C#

HackForums에서

원래 프로젝트 pastebin.com/BrgKkAmk

+0

관련 코드를 게시하시기 바랍니다. – BrokenGlass

+0

Youtube가 비디오 파일에 대한 직접 액세스를 거부하는 것처럼 보입니다. – David

답변

0

Youtube가 링크에 액세스하는 것을 차단하는 것으로 보입니다. WebClientuser-agent을 설정하지 않았기 때문일 수 있습니다.

비디오를 다운로드하기 전에 추가해보십시오.

wc.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); 

URL 정리 코드도 이와 같이 변경해야합니다.

//clean up residual tags and encoded strings 
link = slink.Replace("url=", ""); 
link = link.Replace("\\u0026", "&"); 
link = HttpUtility.UrlDecode(link); 
+0

나는 그것을 tryed. 그리고 try catch를 추가했습니다. 하지만 URL의 길이에 대해 불평했다. 갈 수있어 그것을 컴파일 할 수 있습니까? –

+0

당신은'string.Replace' 메서드의 결과로 작업하지 않으므로, 당신의 URL은 항상 틀렸을 것입니다. 나는 수정 프로그램을 편집하여 이런 식으로 일했습니다. 다음 번에는 예외 게시를 시도하십시오. 그렇지 않으면 사람들이 도움을 줄 수 없습니다. – shriek

1

YoutubeExtractor 라이브러리를 살펴보십시오. YouTube에서 동영상을 다운로드하는 방법을 제공합니다.