Почему я получаю ошибку "PermissionError: [WinError 5] Access is denied" при использовании youtube-dl в классе процессов c#?
Когда я запускаю youtube-dl.exe с классом процесса c# на сервере, он возвращает ниже ошибки в StandardOutput:
Traceback (most recent call last):
File "__main__.py", line 19, in <module>
File "C:UsersdstAppDataRoamingBuild archiveyoutube-dlrg3tmpc7h_sle1buildyoutube_dl__init__.py", line 449, in main
File "C:UsersdstAppDataRoamingBuild archiveyoutube-dlrg3tmpc7h_sle1buildyoutube_dl__init__.py", line 416, in _real_main
File "C:UsersdstAppDataRoamingBuild archiveyoutube-dlrg3tmpc7h_sle1buildyoutube_dlYoutubeDL.py", line 367, in __init__
File "C:UsersdstAppDataRoamingBuild archiveyoutube-dlrg3tmpc7h_sle1buildyoutube_dlYoutubeDL.py", line 2100, in _setup_opener
File "C:UsersdstAppDataRoamingBuild archiveyoutube-dlrg3tmpc7h_sle1buildyoutube_dlutils.py", line 642, in make_HTTPS_handler
File "C:PythonPython34libssl.py", line 439, in create_default_context
File "C:PythonPython34libssl.py", line 390, in load_default_certs
File "C:PythonPython34libssl.py", line 377, in _load_windows_store_certs
PermissionError: [WinError 5] Access is denied
Что это за ошибки?у меня нет этих путей и файлов с этими каталогами. И вот мой код
string ydlPath = Server.MapPath("/ydlPath/youtube-dl.exe");
string tempLocation = Server.MapPath("/ydlPath/");
System.IO.StreamReader errorreader;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents = false;
proc.StartInfo.ErrorDialog = false;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.FileName = ydlPath ;
//proc.StartInfo.Arguments = "-F "" + Url + """;
proc.StartInfo.WorkingDirectory = tempLocation;
proc.StartInfo.Arguments = "-f bestvideo[ext=mp4]+bestaudio[ext=m4a] "" + Url + """;
proc.StartInfo.Verb = "runas";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.Start();
errorreader = proc.StandardError;
string Output = proc.StandardOutput.ReadToEnd();
proc.WaitForExit();
proc.Close();
Я использовал это на моем местном, и это работает нормально. Также, когда я использую youtube-dl.exe с cmd на сервере или на моем локальном у меня нет проблем.
Как я могу решить эту проблему? Кто-нибудь может мне помочь?
1 ответ:
Эта проблема решена, и эта проблема связана с ошибкой python.Подробности существуют на: https://github.com/rg3/youtube-dl/issues/10766