Что нового

Вытащить из программы uTorrent - список закачек

yl3d

Новичок
Сообщения
70
Репутация
0
Версия AutoIt: 3.3.14.2

Описание:
Утро доброе, мастера автоита.
Помогите.

Есть торрент-клиент uTorrent.
И там есть список закачиваемых файлом.

Можно ли при помощи автоита - каким-то образом вытащить оттуда и отобразить этот список имен закачек ?

Если выделить эти закачки и скопировать - то в принципе этот список копируется, но вот имена - не отображаются.


Примечания:
 

Вложения

  • uTorrent.jpg
    uTorrent.jpg
    158.6 КБ · Просмотры: 13
  • 1.txt
    904 байт · Просмотры: 0

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Есть замечательная UDF в этой теме :https://autoit-script.ru/index.php?topic=14496.0
Только нужно настроить торрент клиент перед началом использования, а именно : зайти в "настройки-настройки программы-дополнительно-Веб интерфейс" и поставить галочку "Использовать Веб инерфейс" , задать имя пользователя и пароль, после этого перегрузить торрент клиент. Теперь получить все раздачи и закачки можно одной командой:
Код:
#include <utorrent.au3>
#include <array.au3>
$MyIP = 'xxx.xxx.xxx.xxx';здесь Ваш внешний IP адрес
$MyLogin = 'Mylogin';Ваш логин в торрент клиенте
$MyPass = '111';Ваш пароль в торрент клиенте
$MyPort = 'xxx';Порт (Посмотреть Настройки- Настройки программы - Соединение)

$aFile =  _List_Torrents($MyIP, $MyLogin, $MyPass, $MyPort)
_ArrayDisplay($aFile)
 
Автор
Y

yl3d

Новичок
Сообщения
70
Репутация
0
ra4o, подскажите - вот этот скрипт - он как-то по-странному выводит список закачек, располагая все названия - в одну строку.
То есть названия закачек - находятся все в одной строке, но разных столбцах.

Как этот массив повернуть, чтобы список закачек - был как и в Торрент-клиенте - в одном столбце и разных строках ?
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
И нечего тут пугаться, массив как массив
Код:
#include 'utorrent.au3'
$aList=_List_Torrents()
$zz=''
For $i = 0 To UBound($aList, 2) - 1
			$zz&=$aList[2][$i]& @CRLF
	Next
MsgBox(32,'',$zz)
 
Автор
Y

yl3d

Новичок
Сообщения
70
Репутация
0
sngr , ваш скрипт не работает.

(Выводит пустое окошко сообщения)
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Работает, только надо проставить явки\пароли _List_Torrents($MyIP, $MyLogin, $MyPass, $MyPort)
 
Автор
Y

yl3d

Новичок
Сообщения
70
Репутация
0
sngr, а как отобразить размер закачки и ее номер ?
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Код:
[0][0] = The hash of the torrent
;                 [1][0] = The The state of the torrent
;                 [2][0] = The name of the torrent
;                 [3][0] = The size of the torrent (bytes)
;                 [4][0] = The progress percentage (1000 = 100.0) complete
;                 [5][0] = The amount downloaded (bytes)
;                 [6][0] = The amount uploaded (bytes)
;                 [7][0] = The torrent ratio
;                 [8][0] = The upload speed (bps)
;                 [9][0] = The download speed (bps)
;                 [10][0] = The ETA (seconds)
;                 [11][0] = The torrent label
;                 [12][0] = The amount of connected peers
;                 [13][0] = The amount of peers in the swarm
;                 [14][0] = The amount of connected seeds
;                 [15][0] = The amount of seeds in the swarm
;                 [16][0] = The availability
;                 [17][0] = The queue order of the torrent
;                 [18][0] = The amount remaining to download(to finish the torrent) (bytes)
 
Автор
Y

yl3d

Новичок
Сообщения
70
Репутация
0
sngr, А как их записать в код, чтобы они отображались ?

Я вот так записал:
Код:
$aList=_List_Torrents($MyIP, $MyLogin, $MyPass, $MyPort)
$zz=''
For $i = 0 To UBound($aList, 2) - 1
            $zz&=$aList[2][$i]& @CRLF
			$zz2&=$aList[3][$i]& @CRLF
    Next
MsgBox(32,'',$zz,$zz2)
Что-то не работает
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Код:
$zz=''
For $i = 0 To UBound($aList, 2) - 1
            $zz&=$aList[2][$i]&' | '&$aList[3][$i]& @CRLF

    Next
MsgBox(32,'',$zz)


также есть возможность получить информацию из окна программы
Код:
#include <GuiListView.au3>
$hListView = ControlGetHandle('[Class:µTorrent4823DF041B09]', '', 27); смотри в ауинфо
$co=_GUICtrlListView_GetItemCount($hListView)
$zz=''
For $i = 0 To  $co
	$zz&=_GUICtrlListView_GetItemText($hListView,$i)&' | '&_GUICtrlListView_GetItemText($hListView,$i,1)&' | '&_GUICtrlListView_GetItemText($hListView,$i,2)& @CRLF
Next
MsgBox(32,'',$zz)
 
Автор
Y

yl3d

Новичок
Сообщения
70
Репутация
0
sngr , а как этот список вниз прокрутить - он же не умещается на экране ?
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
OffTopic:
yl3d, Вы опишите все ваши желания сразу, то как Вы себе видите результат работы скрипта, иначе это будет продолжаться бесконечно.
 
Автор
Y

yl3d

Новичок
Сообщения
70
Репутация
0
ra4o , ну вот единственный вопрос остался: как этот список вниз прокрутить.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Какую информацию Вы хотите видеть в таблице, напишите по столбцам .
 
Автор
Y

yl3d

Новичок
Сообщения
70
Репутация
0
ra4o, мне нужны четыре параметра : 1)Номер закачки, 2)название закачки, 3)объем закачки, 4)полоса прокрутки вниз.

Название закачки и объем закачки - уже есть.
Нужны только - Номер закачки и полоса прокрутки вниз.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Пробуйте так:
Код:
#include <utorrent.au3>
#include <array.au3>
#include <Inet.au3>

$MyIP = _GetIP();здесь Ваш внешний IP адрес
$MyLogin = '';Ваш логин в торрент клиенте
$MyPass = '';Ваш пароль в торрент клиенте
$MyPort = '36718';Порт (Посмотреть Настройки- Настройки программы - Соединение)

$aFile = _List_Torrents($MyIP, $MyLogin, $MyPass, $MyPort)

;Делаем свой масив под Ваши требования:
Dim $NewArray[UBound($aFile, 2)][3]
For $i = 0 To UBound($aFile, 2) - 1
  $NewArray[$i][0]= $i+1 ;Номер закачки#Au3Stripper_Ignore_Funcs
  $NewArray[$i][1]=$aFile[2][$i];Названиее закачки
  $NewArray[$i][2]=$aFile[3][$i];Размер закачки в байтах
Next

_ArrayDisplay($NewArray)
Результат выводится в массив, с массивом возможно сделать всё, что угодно - сохранить в файл, вывести в ListView итд.
Размер в байтах, делите на 1024 что-бы получить килобайты итд.
 
Автор
Y

yl3d

Новичок
Сообщения
70
Репутация
0
ra4o, применил ваш скрипт.
Он почему-то не работает.

Выводит пустой массив, в котором - ничего нет.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Выводит пустой массив, в котором - ничего нет.
У вас на момент запуска скрипта mTorrent запущен ?Логин ,пароль , порт , IP свой подставили ?
 
Автор
Y

yl3d

Новичок
Сообщения
70
Репутация
0
ra4o, разумеется я подставил - на момент запуска скрипта - Логин ,пароль , порт , IP , запустил программу uТоррент.
Первый-то ваш скрипт у меня работал.

А этот - не работает.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Они одинаковые за исключением одной строки, замените (во втором варианте внешний IP получается автоматически, его вносить не нужно было :-[ попробуйте прописать его вручную)
Код:
;Эту строку убрать
$MyIP = _GetIP()

;Вместо неё вернуть эту:
$MyIP = 'xxx.xxx.xxx.xxx';здесь Ваш внешний IP адрес
 
Верх