Я новичок в PowerShell и пытаюсь создать короткий скрипт, который найдет магнитные ссылки на странице и загрузит их.
У меня нет особого понимания того, как работают магнитные URI, и я не могу заставить свой скрипт загружать файлы через них.
Я использую следующий фрагмент кода:
$webclient = New-Object System.Net.WebClient
$url = "magnet:?xt=urn:btih:44bb5e0325b7dad0bdc5abce459b85b014766ec0&dn=MY_TORRENT&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp"
$file = "C:\Some\Path\myfile.torrent"
$webclient.DownloadFile($url, $file)
Что приводит к следующему исключению
System.Management.Automation.MethodInvocationException: Exception calling "DownloadFile" with "2" argument(s): "An exception occurred during a WebClient request." ---> System.Net.We
bException: An exception occurred during a WebClient request. ---> System.NotSupportedException: The URI prefix is not recognized.
at System.Net.WebRequest.Create(Uri requestUri, Boolean useUriBase)
at System.Net.WebClient.GetWebRequest(Uri address)
at System.Net.WebClient.DownloadFile(Uri address, String fileName)
--- End of inner exception stack trace ---
at System.Net.WebClient.DownloadFile(Uri address, String fileName)
at CallSite.Target(Closure , CallSite , Object , Object , Object )
--- End of inner exception stack trace ---
at System.Management.Automation.ExceptionHandlingOps.ConvertToMethodInvocationException(Exception exception, Type typeToThrow, String methodName, Int32 numArgs, MemberInfo member
Info)
at CallSite.Target(Closure , CallSite , Object , Object , Object )
at System.Management.Automation.Interpreter.DynamicInstruction`4.Run(InterpretedFrame frame)
at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
Есть ли другой способ загрузки в PowerShell или это невозможно с магнитной ссылкой.
Моя конечная цель — начать качать торрент по магнитной ссылке, поэтому, возможно, можно просто открыть торрент-клиент по ссылке, но я не уверен, как бы я это сделал.