Я так думаю что исполнитель ставит свою цену, за сколько он готов работать. А я уже не обижу, сверху премия будет.
PHP: <?php $url = "https://rutracker.org/forum/viewtopic.php?t=2916673"; libxml_use_internal_errors(true); $dom = new DomDocument(); $dom->loadHTML(file_get_contents($url)); $magnet = (new DomXPath($dom))->query("//*[contains(@class, 'magnet-link')]")->item(0)->getAttribute('href'); $add_magnet = array( "method" => "torrent-add", "arguments" => array( "paused" => false, "download-dir" => "C:\\Windows", "filename" => $magnet, ), ); $headers = array('Content-Type: json', 'X-Requested-With: XMLHttpRequest', 'X-Transmission-Session-Id: none'); $context = stream_context_create(array( 'http' => array( //'protocol_version' => '1.1', 'method' => 'POST', 'header' => implode($headers, PHP_EOL) . PHP_EOL , 'content' => json_encode($add_magnet), ), )); file_get_contents('http://localhost:9091/transmission/rpc', false, $context); $headers[2] = $http_response_header[2]; $context = stream_context_create(array( 'http' => array( //'protocol_version' => '1.1', 'method' => 'POST', 'header' => implode($headers, PHP_EOL) . PHP_EOL , 'content' => json_encode($add_magnet), ), )); $result = file_get_contents('http://localhost:9091/transmission/rpc', false, $context); if (strpos($result, 'success') !== false) { echo 'added'; }
Лучше заменить на PHP: query("//*[contains(@href, 'magnet')]") Универсальнее будет. --- Добавлено --- PHP: query("//*[contains(@href, 'magnet:?xt=urn:btih:')]")
Я так понимаю, это скрипт который в transmission в очередь загрузки добавит торрент? верно? Если да, то если можно я в личные сообщения обращусь, за маленькой доработкой по поводу его, и готов вам заплатить.
Я конечно прошу прощения, но можно небольшую инструкцию по запуску? Залил на сервер, и даже интерфейс не могу запустить.
Там нет интерфейса. Это набор классов. Интерфейс ты можешь сам нарисовать какой захочешь. Прям как ты хотел. Вот еще один класс https://github.com/brycied00d/PHP-Transmission-Class Но первый вариант интереснее.
А вы готовы за оплату сделать этот интерфейс? надо всего лишь поле для ввода ссылки, список загрузок, процент загрузки (можно даже приблизительный), и что бы можно было управлять загрузками, стоп, пауза, удалить. Если да, дайте ваши контакты, можем где то списаться.
@Devero Денис взялся он тебе все сделает. Есть еще интересная библиотека для ffmpeg можно сразу после закачки в mp4 конвертировать для онлайн просмотра.
@Devero так этот интерфейс уже реализован в Transmission, заходить так http://localhost:9091/transmission/web/
@denis01 Мне вот тоже пришло в голову. А вдруг он этого не понял) --- Добавлено --- Вот так это выглядит у меня в браузере