JohnOne Posted June 16, 2010 Posted June 16, 2010 (edited) Ive been playing with utorrent and decided to try and create a set of UDFs to work with its Backend web API.Its my first attempt at a udf so be gentle. RequirementsµTorrent 2.0.2, and its Web API installed and enabled (Options - Preferences - Web UI)Username - password - port, should be set (needed for both local and remote access) This is by no means complete, infact its very early days and just has one function for now.._List_Torrents() which should return a multi dimensional array listing all current torrents in your list and their various states, expandcollapse popup#include-once #include <String.au3> ; #FUNCTION# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ; Name...........: _TorrentAdd_URL ; Description ...: Adds a torrent to your µtorrent job list ; Syntax.........: _TorrentAdd_URL($sUser, $sPass, $sTorrentURL, $sIP, $sPort) ; Parameters ....: $sUser - Username as set in the Web UI settings of µtorrent. ; $sPass - Password as set in the Web UI settings of µtorrent. ; $sTorrentURL - http address of the torrent you want to add. ; $sIP - [Optional] Local or remote IP of the target machine running µtorrent (Deafault = @IPAddress1). ; $sPort - [Optional] Port to access as set in the Web UI settings of µtorrent (Default = "8080"). ; Return values .: Success - True ; Failure - False ; Author ........: JohnOne ; Modified.......: ; Remarks .......: All parameters should be string type ; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Func _TorrentAdd_URL($sUser, $sPass, $sTorrentURL, $sIP = @IPAddress1, $sPort = "8080") $aParams = _Get_Token($sUser, $sPass, $sIP, $sPort) $sURL = $aParams[0] & "?token=" & $aParams[1] & "&action=add-url&s=" & $sTorrentURL $temp = BinaryToString(InetRead($sURL), 1) If StringInStr($temp, '"build"') Then Return True Else Return False EndIf EndFunc ;==>_TorrentAdd_URL ; #FUNCTION# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ; Name...........: _TorrentAction ; Description ...: Performs an action on a torrent in your µtorrent job list ; Syntax.........: _TorrentAction($sUser, $sPass, $sTorrentName, $sAction, $sIP, $sPort) ; Parameters ....: $sUser - Username as set in the Web UI settings of µtorrent. ; $sPass - Password as set in the Web UI settings of µtorrent. ; $sTorrentName - Name of the torrent you wish to work with. ; $sAction - The action to perform on the torrent...below ; ; start ; stop ; pause ; unpause ; forcestart ; recheck ; remove ; removedata ; setprio ; ; $sIP - [Optional] Local or remote IP of the target machine running µtorrent (Deafault = @IPAddress1). ; $sPort - [Optional] Port to access as set in the Web UI settings of µtorrent (Default = "8080"). ; Return values .: Success - True ; Failure - False ; Author ........: JohnOne ; Modified.......: ; Remarks .......: All parameters should be string type ; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Func _TorrentAction($sUser, $sPass, $sTorrentName, $sAction, $sIP = @IPAddress1, $sPort = "8080") $sHash = _Get_Hash($sUser, $sPass, $sTorrentName, $sIP, $sPort) $aParams = _Get_Token($sUser, $sPass, $sIP, $sPort) $sURL = $aParams[0] & "?token=" & $aParams[1] & "&action=" & $sAction & "&hash=" & $sHash $temp = BinaryToString(InetRead($sURL), 1) If StringInStr($temp, '"build"') Then Return True Else Return False EndIf EndFunc ;==>_TorrentAction ; #FUNCTION# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ; Name...........: _List_Torrents ; Description ...: Returns a list of all the current torrent jobs and the states they are in ; Syntax.........: _List_Torrents($sUser, $sPass, $sIP, $sPort) ; Parameters ....: $sUser - Username as set in the Web UI settings of µtorrent. ; $sPass - Password as set in the Web UI settings of µtorrent. ; $sIP - [Optional] Local or remote IP of the target machine running µtorrent (Deafault = @IPAddress1). ; $sPort - [Optional] Port to access as set in the Web UI settings of µtorrent (Default = "8080"). ; Return values .: Success - 2 Dimentional array, where the colums represent the torrent jobs and rows are the properties. ; [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) ; ; Failure - 0 ; Author ........: JohnOne ; Modified.......: ; Remarks .......: All parameters should be string type ; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Func _List_Torrents($sUser, $sPass, $sIP = @IPAddress1, $sPort = "8080") $aList = _Get_List(_Get_Token($sUser, $sPass, $sIP, $sPort)) If IsArray($aList) Then Return $aList Else Return 0 EndIf EndFunc ;==>_List_Torrents ; #FUNCTION# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ; ; Name...........: _TorrentSet_GL_UD ; Description ...: Sets the global Upload and Download rate ; Syntax.........: _TorretSet_GL_UD($sUser, $sPass, $sUp, $sDown, $sIP, $sPort) ; Parameters ....: $sUser - Username as set in the Web UI settings of µtorrent. ; $sPass - Password as set in the Web UI settings of µtorrent. ; $sUp - [Optional] Global upload rate in KB (Default is 0, unlimited) ; $sDown - [Optional] Global Download rate in KB (Default is 0, unlimited) ; $sIP - [Optional] Local or remote IP of the target machine running µtorrent (Deafault = @IPAddress1). ; $sPort - [Optional] Port to access as set in the Web UI settings of µtorrent (Default = "8080"). ; Return values .: Success - True ; Failure - False ; Author ........: JohnOne ; Modified.......: ; Remarks .......: ; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Func _TorrentSet_GL_UD($sUser, $sPass, $sUp = 0, $sDown = 0, $sIP = @IPAddress1, $sPort = "8080") $aParams = _Get_Token($sUser, $sPass, $sIP, $sPort) $sURL = $aParams[0] & "?token=" & $aParams[1] & "&action=setsetting&s=max_ul_rate&v=" & $sUp & "&s=max_dl_rate&v=" & $sDown $temp = BinaryToString(InetRead($sURL), 1) If StringInStr($temp, '"build"') Then Return True Else Return False EndIf EndFunc ; #FUNCTION# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ; ; Name...........: _Get_Settings ; Description ...: Retrieves a list of settings, variable types, and current values supported in your version of µtorrent. ; Syntax.........: _Get_Settings($sUser, $sPass, $sIP, $sPort) ; Parameters ....: $sUser - Username as set in the Web UI settings of µtorrent. ; $sPass - Password as set in the Web UI settings of µtorrent. ; $sIP - [Optional] Local or remote IP of the target machine running µtorrent (Deafault = @IPAddress1). ; $sPort - [Optional] Port to access as set in the Web UI settings of µtorrent (Default = "8080"). ; Return values .: Success - A 2 dimensional array, where colum 0 = the setting name, colum 1 = the type of variable you can use.... ; ... (0=integer 1=boolean 2=string), colum 2 = The current setting of the variable. ; Failure - False ; Author ........: JohnOne ; Modified.......: ; Remarks .......:The list returned from this function is to get info on a setting you can alter using _Set_Settings() function ; There are too many to list here and they may vary between µtorrent versions ; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Func _Get_Settings($sUser, $sPass, $sIP = @IPAddress1, $sPort = "8080") Local $tmpfile = @ScriptDir & "temp.txt" $aParams = _Get_Token($sUser, $sPass, $sIP, $sPort) $GSettings_URL = $aParams[0] & "?action=getsettings&token=" & $aParams[1] $temp = InetRead($GSettings_URL) $temp = BinaryToString($temp, 1) $temp = StringRegExpReplace($temp, "(s)", "") $temp = _StringBetween($temp,"[[", "]]") FileWrite($tmpfile,$temp[0]) $sfile = FileRead($tmpfile) $atemp = StringSplit($sfile, "],[" , 3) Local $aFinalList[UBound($atemp)][3] For $i = 0 To UBound($atemp)-1 $atemp2 = StringSplit($atemp[$i], ",", 2) For $j = 0 To 2 $aFinalList[$i][$j] = $atemp2[$j] Next Next $atemp = 0 FileDelete($tmpfile) If IsArray($aFinalList) And $aFinalList[0][2] <> "" Then Return $aFinalList Else Return False EndIf EndFunc ; #INTERNAL FUNCTIONS# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ; Name...........: _Get_Token ; Description ...: Retrieves a security token needed to acces the web API ; ; Name...........: _Get_List ; Description ...: Retrieves a list of torrents, using the token ; ; Name...........: _Get_Hash ; Description ...: Retrieves a hash of a given torrent, needed to perform actions on them ; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Func _Get_Token($sUser, $sPass, $sIP = @IPAddress1, $sPort = "8080") Local $aRet[2] $sBase_URL = "http://" & $sUser & ":" & $sPass & "@" & $sIP & ":" & $sPort & "/gui/" $sToken_URL = $sBase_URL & "token.html" $aRet[0] = $sBase_URL $aRet[1] = StringMid(BinaryToString(InetRead($sToken_URL, 1)), 45, 60) Return $aRet EndFunc ;==>_Get_Token Func _Get_List($aParams) $sList_URL = $aParams[0] & "?list=1" & "&token=" & $aParams[1] $temp = _StringBetween(StringRegExpReplace(BinaryToString(InetRead($sList_URL, 1)), "(s)", ""), "[[", "]]") $aList = StringSplit($temp[0], "],[", 3) Local $aFinalList[19][UBound($aList)] For $i = 0 To UBound($aFinalList, 2) - 1 $atemp = StringSplit($aList[$i], ",", 2) For $j = 0 To 18 $aFinalList[$j][$i] = $atemp[$j] Next Next Return $aFinalList EndFunc ;==>_Get_List Func _Get_Hash($sUser, $sPass, $sTorrentName, $sIP = @IPAddress1, $sPort = "8080") Local $sHash $aParams = _Get_Token($sUser, $sPass, $sIP, $sPort) $aList = _Get_List($aParams) For $i = 0 To UBound($aList, 2) - 1 If StringInStr($aList[2][$i], $sTorrentName) Then $sHash = StringReplace($aList[0][$i], '"', '') ExitLoop EndIf Next Return $sHash EndFunc ;==>_Get_Hashexample #include-once #include <utorrent.au3> _TorrentAdd_URL("username", "password", "http://isohunt.com/download/22598012/PublicDomain.torrent", @IPAddress1, "port") ;add a public domain torrent Sleep(5000) _TorrentAction("username", "password", 'Karate', "pause", @IPAddress1, "port") ;pause the download Sleep(5000) _TorrentAction("username", "password", 'Karate', "unpause", @IPAddress1, "port") ;unpause the download Sleep(5000) _TorrentAction("username", "password", 'Karate', "removedata", @IPAddress1, "port") ; remove the torrent and dataUnfortunately I dont have the means to test it remotely here, so if anyone fancies it Id sure appreciate you feedback. EDIT: 22 June 2010Tidied up this whole mess of a post Added function headers and tidied code EDIT: 16 December 2011This UDF has been updated by supagusti in post #18(untested) Edited October 20, 2015 by JohnOne AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
JohnOne Posted June 20, 2010 Author Posted June 20, 2010 (edited) Added function _TorrentAdd_URL() see above. Edited June 21, 2010 by JohnOne AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
FuryCell Posted June 20, 2010 Posted June 20, 2010 (edited) Very nice. This will make automating uTorrent much easier. Trying to get info from the GUI itself proved messy (at least for me). Edited June 20, 2010 by FuryCell HKTunes:Softpedia | GoogleCodeLyricToy:Softpedia | GoogleCodeRCTunes:Softpedia | GoogleCodeMichtaToolsProgrammer n. - An ingenious device that turns caffeine into code.
JohnOne Posted June 21, 2010 Author Posted June 21, 2010 Indeed What started me to look at this was an auto downlosder called TB notify, which is built for TorrentBytes website. My goal is to expand on this and make a full UDF to do whatever you want with utorrent, locally or remotely. Note: when you have the WEBUI installed and enabled you can navigate to its index page and control your torrents remotely via an html webpage which looks like your actuall client. Im just trying to make functions to automate it. AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
jaberwacky Posted June 21, 2010 Posted June 21, 2010 (edited) InetRead($sToken_URL, 1) in the _Get_Token function returns an empty string for me. Windows 7 x64; latest version of uTorrent; WebUI enabled. I have no prior experience with WebUI so is there anything I may need to know or do? edit: more info Edited June 21, 2010 by jaberwocky6669 Helpful Posts and Websites: AutoIt3 Variables and Function Parameters MHz | AutoIt Wiki | Using the GUIToolTip UDF BrewManNH | Can't find what you're looking for on the Forum?
JohnOne Posted June 21, 2010 Author Posted June 21, 2010 (edited) Installation of µTorrent web UI * To install the WebUI, after configuring it with the instructions in the section below, simply visit the WebUI URL in your browser (http://yourip:yourport/gui/ ) and µTorrent will download it automatically. * To install manually or upgrade to a newer version, download http://sites.google.com/site/ultimasites/files/utorrent-webui.2010041613193401.zip?attredirects=0&d=1 (the latest) version. After downloading, rename the file to "webui.zip" and place it in %AppData%\uTorrent (Paste this path into the Explorer address bar). * If running µTorrent in portable mode, place it in the same folder as the .dat fileshttp://www.utorrent.com/documentation/webui____________________________________________________EDIT:Added _TorrentRemoveData()EDIT:Renamed _TorrentAction() Edited June 22, 2010 by JohnOne AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
jaberwacky Posted June 21, 2010 Posted June 21, 2010 Installation of µTorrent web UI * To install the WebUI, after configuring it with the instructions in the section below, simply visit the WebUI URL in your browser (http://yourip:yourport/gui/ ) and µTorrent will download it automatically. * To install manually or upgrade to a newer version, download http://sites.google.com/site/ultimasites....2010041613193401.zip?attredirects=0&d=1 (the latest) version. After downloading, rename the file to "webui.zip" and place it in %AppData%\uTorrent (Paste this path into the Explorer address bar). * If running µTorrent in portable mode, place it in the same folder as the .dat fileshttp://www.utorrent.com/documentation/webui____________________________________________________EDIT:Added _TorrentRemoveData()Okies, I already had webui.zip so I dunno, I'll keep trying it out. Helpful Posts and Websites: AutoIt3 Variables and Function Parameters MHz | AutoIt Wiki | Using the GUIToolTip UDF BrewManNH | Can't find what you're looking for on the Forum?
jaberwacky Posted June 21, 2010 Posted June 21, 2010 (edited) Allright, copy and pasted recent revision and now the _Get_Token function works but I now get this: C:\Users\Matthew\Desktop\New AutoIt v3 Script (2).au3 (36) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.: $aFinalList[$j][$i] = $atemp[$j] $aFinalList[$j][$i] = ^ ERROR breaking news: I modified the _Get_List function: ( see relevant comment below ) Func _Get_List($aParams) Local $sList_URL = $aParams[0] & "?list=1" & "&token=" & $aParams[1] Local $temp = _StringBetween(StringRegExpReplace(BinaryToString(InetRead($sList_URL, 1)), "(\s)", ""), "[[", "]]") Local $aList = StringSplit($temp[1], "],[", 3) ; I changed the array element from 0 to 1 and now it works like a charm! Local $aFinalList[19][UBound($aList)] For $i = 0 To UBound($aFinalList, 2) - 1 $atemp = StringSplit($aList[$i], ",", 2) For $j = 0 To 18 $aFinalList[$j][$i] = $atemp[$j] Next Next Return $aFinalList EndFunc ;==>_Get_List edit: Also, in the _Get_Token function I think you may have a mistyped function parameter: Func _Get_Token($sUser, $sPass, $sIP = @IPAddress1, $sPort = "8080") ; $sPort was $Port Local $aRet[2] $sBase_URL = "http://" & $sUser & ":" & $sPass & "@" & $sIP & ":" & $sPort & "/gui/" $sToken_URL = $sBase_URL & "token.html" $aRet[0] = $sBase_URL Local $tokenTmp = InetRead($sToken_URL, 1) If @error Then MsgBox(0, "@error", @error & @CRLF & "script line: " & @ScriptLineNumber - 1) $aRet[1] = StringMid(BinaryToString($tokenTmp), 45, 60) Return $aRet EndFunc ;==>_Get_Token Edited June 21, 2010 by jaberwocky6669 Helpful Posts and Websites: AutoIt3 Variables and Function Parameters MHz | AutoIt Wiki | Using the GUIToolTip UDF BrewManNH | Can't find what you're looking for on the Forum?
JohnOne Posted June 21, 2010 Author Posted June 21, 2010 I appreciate the feedback, thanks. The array returned from _List_Torrents() should contain this information. Each colum. This is colum 0 [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) AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
JohnOne Posted June 22, 2010 Author Posted June 22, 2010 (edited) Added function headers, tidied code and post, added better example.EDIT:Added function to set the global max upload and download rate Edited June 22, 2010 by JohnOne AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
JohnOne Posted June 22, 2010 Author Posted June 22, 2010 I've no idea why that array wont work for you, the return from _stringbetween() should hold the first found strinh in [0] of the array. I just put these things down to anomalys What OS you using? AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
jaberwacky Posted June 22, 2010 Posted June 22, 2010 I've no idea why that array wont work for you, the return from _stringbetween() should hold the first found strinh in [0] of the array. I just put these things down to anomalys What OS you using? Win7 pro x64 Helpful Posts and Websites: AutoIt3 Variables and Function Parameters MHz | AutoIt Wiki | Using the GUIToolTip UDF BrewManNH | Can't find what you're looking for on the Forum?
JohnOne Posted June 22, 2010 Author Posted June 22, 2010 Its quite puzzling, I get an array dimension/out of bounds error if I change it to [1]' win 7 32 AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
jaberwacky Posted June 23, 2010 Posted June 23, 2010 This is for the _Get_List function correct? Helpful Posts and Websites: AutoIt3 Variables and Function Parameters MHz | AutoIt Wiki | Using the GUIToolTip UDF BrewManNH | Can't find what you're looking for on the Forum?
JohnOne Posted June 23, 2010 Author Posted June 23, 2010 Added _Get_Settings() function ____________________________________ Hi jaberwocky6669 I appreciate your interest and enthusiasm, but your list is I think from version 1.8.3 of µtorrent. This is why I wait until completing the function to retrieve the current supported list of settings, before adding the function to set them. I assure you I will get around to completing all the functions available, Im just in no hurry. Thanks for your AIO conversions by the way. AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
PopovNN Posted January 27, 2011 Posted January 27, 2011 Any possibility to start|stop download one|few|all files from torrent, if it consist of several files|folders?
JohnOne Posted January 27, 2011 Author Posted January 27, 2011 Any possibility to start|stop download one|few|all files from torrent, if it consist of several files|folders?If I recall correctly it is entirely possible (if you mean when the torrent is a folder).I wont be adding anything to this though, as I think it will quickly be out of date, since they released some sort of SDK pakage to develop apps for it.Feel free to add anything you want though.Info can be found Here and here AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
supagusti Posted November 18, 2011 Posted November 18, 2011 I've tried to use the script, but it seems, that utorrent 3.0 has changed something. So i decided to rewrite the UDF with the use of WINHTTP. Tested with Win7 SP1 x64 / AutoIt3Wrapper v.2.0.3.0 expandcollapse popup#include <String.au3> ;~ #include<windowsconstants.au3> ;~ #include<guiconstants.au3> #include<array.au3> $uTorrentServerUsername="admin" $uTorrentServerPassword="test" $uTorrentServerAddress="127.0.0.1" $uTorrentServerPort="8080" $objHTTP = ObjCreate ("winhttp.winhttprequest.5.1") ; this object must stay the same - when it changes the token changes too !!!!! ;======================================================================== BEGIN TESTING ================================================================================================== ;Get Settings from uTorrent ConsoleWrite("_Get_Settings -->check POPUP"&@CRLF) $Array=_Get_Settings($uTorrentServerUsername, $uTorrentServerPassword, $uTorrentServerAddress, $uTorrentServerPort) _ArrayDisplay($Array) ;add a public domain torrent ConsoleWrite(" _TorrentAdd_URL...") if _TorrentAdd_URL($uTorrentServerUsername, $uTorrentServerPassword, "http://isohunt.com/download/22598012/PublicDomain.torrent", $uTorrentServerAddress, $uTorrentServerPort) then ConsoleWrite("OK"&@CRLF) Else ConsoleWrite("NOK"&@CRLF) EndIf Sleep(5000) ;list Torrents ConsoleWrite("_ListTorrents-->check POPUP"&@CRLF) $torrentlist=_List_Torrents($uTorrentServerUsername, $uTorrentServerPassword, $uTorrentServerAddress, $uTorrentServerPort) _ArrayDisplay($torrentlist) ;pause the download ConsoleWrite("_TorrentAction Pause ... ") if _TorrentAction($uTorrentServerUsername, $uTorrentServerPassword, 'Karate', "pause", $uTorrentServerAddress, $uTorrentServerPort) then ConsoleWrite("OK"&@CRLF) Else ConsoleWrite("NOK"&@CRLF) EndIf Sleep(5000) ;set Global UP and Download Speed ConsoleWrite("_TorrentSetUP/DownSpeed...") if _TorrentSet_GL_UD($uTorrentServerUsername, $uTorrentServerPassword, "20","50", $uTorrentServerAddress, $uTorrentServerPort) then ConsoleWrite("OK"&@CRLF) Else ConsoleWrite("NOK"&@CRLF) EndIf Sleep(5000) ;unpause the download ConsoleWrite("_TorrentAction unpause ...") if _TorrentAction($uTorrentServerUsername, $uTorrentServerPassword, 'Karate', "start", $uTorrentServerAddress, $uTorrentServerPort) then ConsoleWrite("OK"&@CRLF) Else ConsoleWrite("NOK"&@CRLF) EndIf Sleep(5000) ; remove the torrent and data ConsoleWrite("_TorrentAction remove ...") if _TorrentAction($uTorrentServerUsername, $uTorrentServerPassword, 'Karate', "removedata", $uTorrentServerAddress, $uTorrentServerPort) then ConsoleWrite("OK"&@CRLF) Else ConsoleWrite("NOK"&@CRLF) EndIf ;======================================================================== END TESTING ================================================================================================== ; #FUNCTION# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ; Name...........: _TorrentAdd_URL ; Description ...: Adds a torrent to your µtorrent job list ; Syntax.........: _TorrentAdd_URL($sUser, $sPass, $sTorrentURL, $sIP, $sPort) ; Parameters ....: $sUser - Username as set in the Web UI settings of µtorrent. ; $sPass - Password as set in the Web UI settings of µtorrent. ; $sTorrentURL - http address of the torrent you want to add. ; $sIP - [Optional] Local or remote IP of the target machine running µtorrent (Deafault = @IPAddress1). ; $sPort - [Optional] Port to access as set in the Web UI settings of µtorrent (Default = "8080"). ; Return values .: Success - True ; Failure - False ; Author ........: JohnOne/Supagusti - added Support for uTorrent 3.0 ; Modified.......: Supagusti (http://supagusti.at.tf) ; Remarks .......: All parameters should be string type ; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Func _TorrentAdd_URL($sUser, $sPass, $sTorrentURL, $sIP = @IPAddress1, $sPort = "8080") $aParams = _Get_Token($sUser, $sPass, $sIP, $sPort) ;~ ConsoleWrite("$aParams="&$aParams&@CRLF) $sURL = $aParams[0] & "?token=" & $aParams[1] & "&action=add-url&s=" & $sTorrentURL ;~ ConsoleWrite("$sURL="&$sURL&@CRLF) $objHTTP.open ("GET", $sURL, False) $objHTTP.SetCredentials($sUser, $sPass, 0) $objHTTP.SetRequestHeader ("Content-Type", "application/x-www-form-urlencoded") $objHTTP.Send() $temp= $objHTTP.ResponseText $temp2= $objHTTP.Status $temp3= $objHTTP.StatusText ;~ ConsoleWrite("$objHTTP.ResponseText="&$temp&@CRLF) ;~ ConsoleWrite("$objHTTP.Status="&$temp2&@CRLF) ;~ ConsoleWrite("$objHTTP.StatusText="&$temp3&@CRLF) If StringInStr($temp, '"build"') Then ;~ ConsoleWrite("OK"&@CRLF) Return True Else ;~ ConsoleWrite("FAIL"&@CRLF) Return False EndIf EndFunc ;==>_TorrentAdd_URL ; #FUNCTION# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ; Name...........: _TorrentAction ; Description ...: Performs an action on a torrent in your µtorrent job list ; Syntax.........: _TorrentAction($sUser, $sPass, $sTorrentName, $sAction, $sIP, $sPort) ; Parameters ....: $sUser - Username as set in the Web UI settings of µtorrent. ; $sPass - Password as set in the Web UI settings of µtorrent. ; $sTorrentName - Name of the torrent you wish to work with. ; $sAction - The action to perform on the torrent...below ; ; start ; stop ; pause ; unpause ; forcestart ; recheck ; remove ; removedata ; setprio ; ; $sIP - [Optional] Local or remote IP of the target machine running µtorrent (Deafault = @IPAddress1). ; $sPort - [Optional] Port to access as set in the Web UI settings of µtorrent (Default = "8080"). ; Return values .: Success - True ; Failure - False ; Author ........: JohnOne/Supagusti - added Support for uTorrent 3.0 ; Modified.......: Supagusti (http://supagusti.at.tf) ; Remarks .......: All parameters should be string type ; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Func _TorrentAction($sUser, $sPass, $sTorrentName, $sAction, $sIP = @IPAddress1, $sPort = "8080") $sHash = _Get_Hash($sUser, $sPass, $sTorrentName, $sIP, $sPort) $aParams = _Get_Token($sUser, $sPass, $sIP, $sPort) $sURL = $aParams[0] & "?token=" & $aParams[1] & "&action=" & $sAction & "&hash=" & $sHash $objHTTP.open ("GET", $sURL, False) $objHTTP.SetCredentials($sUser, $sPass, 0) $objHTTP.SetRequestHeader ("Content-Type", "application/x-www-form-urlencoded") $objHTTP.Send() $temp= $objHTTP.ResponseText $temp2= $objHTTP.Status $temp3= $objHTTP.StatusText ;~ ConsoleWrite("_TorrentAction.ResponseText="&$temp&@CRLF) ;~ ConsoleWrite("_TorrentAction.Status="&$temp2&@CRLF) ;~ ConsoleWrite("_TorrentAction.StatusText="&$temp3&@CRLF) ;~ $temp = BinaryToString(InetRead($sURL), 1) If StringInStr($temp, '"build"') Then Return True Else Return False EndIf EndFunc ;==>_TorrentAction ; #FUNCTION# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ; Name...........: _List_Torrents ; Description ...: Returns a list of all the current torrent jobs and the states they are in ; Syntax.........: _List_Torrents($sUser, $sPass, $sIP, $sPort) ; Parameters ....: $sUser - Username as set in the Web UI settings of µtorrent. ; $sPass - Password as set in the Web UI settings of µtorrent. ; $sIP - [Optional] Local or remote IP of the target machine running µtorrent (Deafault = @IPAddress1). ; $sPort - [Optional] Port to access as set in the Web UI settings of µtorrent (Default = "8080"). ; Return values .: Success - 2 Dimentional array, where the colums represent the torrent jobs and rows are the properties. ; [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) ; ; Failure - 0 ; Author ........: JohnOne/Supagusti - added Support for uTorrent 3.0 ; Modified.......: Supagusti (http://supagusti.at.tf) ; Remarks .......: All parameters should be string type ; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Func _List_Torrents($sUser, $sPass, $sIP = @IPAddress1, $sPort = "8080") $aList = _Get_List(_Get_Token($sUser, $sPass, $sIP, $sPort)) If IsArray($aList) Then Return $aList Else Return 0 EndIf EndFunc ;==>_List_Torrents Func _Get_List($aParams) Local $sList_URL = $aParams[0] & "?list=1" & "&token=" & $aParams[1] $objHTTP.open ("GET", $sList_URL, False) $objHTTP.SetCredentials($uTorrentServerUsername, $uTorrentServerPassword, 0) $objHTTP.SetRequestHeader ("Content-Type", "application/x-www-form-urlencoded") $objHTTP.Send() $temp1= $objHTTP.ResponseText ;~ $temp2= $objHTTP.Status ;~ $temp3= $objHTTP.StatusText ;~ ConsoleWrite("_Get_List.ResponseText="&$temp1&@CRLF) ;~ ConsoleWrite("_Get_List.Status="&$temp2&@CRLF) ;~ ConsoleWrite("_Get_List.StatusText="&$temp3&@CRLF) Local $temp = _StringBetween(StringStripWS ($temp1,8), "[[", "]]") ;~ ConsoleWrite("$Fehler_StringBetween="&$temp&" Error="&@error&@CRLF) ;~ ;Local $temp = _StringBetween(StringRegExpReplace($objHTTP.ResponseText, "(\s)", ""), "[[", "]]") ;~ Local $Fehler=_ArrayDisplay($temp) ;~ ConsoleWrite("$Fehler_ArrayDisplay="&$Fehler&" Error="&@error&@CRLF) ;Local $temp = _StringBetween(StringRegExpReplace(BinaryToString(InetRead($sList_URL, 1)), "(\s)", ""), "[[", "]]") Local $aList = StringSplit($temp[0], "],[", 3) ; I changed the array element from 0 to 1 and now it works like a charm! Local $aFinalList[19][UBound($aList)] For $i = 0 To UBound($aFinalList, 2) - 1 $atemp = StringSplit($aList[$i], ",", 2) For $j = 0 To 18 ;~ ConsoleWrite("_$aFinalList["&$j&"]["&$i&"]="&$atemp[$j]&@CRLF) $aFinalList[$j][$i] = $atemp[$j] Next Next Return $aFinalList EndFunc ;==>_Get_List Func _Get_Hash($sUser, $sPass, $sTorrentName, $sIP = @IPAddress1, $sPort = "8080") Local $sHash $aParams = _Get_Token($sUser, $sPass, $sIP, $sPort) $aList = _Get_List($aParams) For $i = 0 To UBound($aList, 2) - 1 If StringInStr($aList[2][$i], $sTorrentName) Then $sHash = StringReplace($aList[0][$i], '"', '') ExitLoop EndIf Next Return $sHash EndFunc ;==>_Get_Hash Func _Get_Token($sUser, $sPass, $sIP = @IPAddress1, $sPort = "8080") ; $sPort was $Port Local $aRet[2] Local $tokenTmp $sBase_URL = "http://" &$sIP & ":" & $sPort & "/gui/" $sToken_URL = $sBase_URL & "token.html" $aRet[0] = $sBase_URL ;~ ConsoleWrite("$sToken_URL="&$sToken_URL&@CRLF) $objHTTP.open ("GET", $sToken_URL, False) $objHTTP.SetCredentials($sUser, $sPass, 0) $objHTTP.SetRequestHeader ("Content-Type", "application/x-www-form-urlencoded") $objHTTP.Send() $tokenTmp= $objHTTP.ResponseText $temp= $objHTTP.ResponseText ;~ $temp2= $objHTTP.Status ;~ $temp3= $objHTTP.StatusText ;~ ConsoleWrite("$objHTTP.ResponseText="&$temp&@CRLF) ;~ ConsoleWrite("$objHTTP.Status="&$temp2&@CRLF) ;~ ConsoleWrite("$objHTTP.StatusText="&$temp3&@CRLF) ;~ ConsoleWrite("$objHTTP.StatusText="&$objHTTP.StatusText&@CRLF) ;~ ConsoleWrite("$tokenTmp="&$tokenTmp&@CRLF) $aRet[1] = StringMid($tokenTmp, 45, 64) ;~ ConsoleWrite("$token="&$aRet[1]&@CRLF) Return $aRet EndFunc ;==>_Get_Token ; #FUNCTION# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ; ; Name...........: _TorrentSet_GL_UD ; Description ...: Sets the global Upload and Download rate ; Syntax.........: _TorretSet_GL_UD($sUser, $sPass, $sUp, $sDown, $sIP, $sPort) ; Parameters ....: $sUser - Username as set in the Web UI settings of µtorrent. ; $sPass - Password as set in the Web UI settings of µtorrent. ; $sUp - [Optional] Global upload rate in KB (Default is 0, unlimited) ; $sDown - [Optional] Global Download rate in KB (Default is 0, unlimited) ; $sIP - [Optional] Local or remote IP of the target machine running µtorrent (Deafault = @IPAddress1). ; $sPort - [Optional] Port to access as set in the Web UI settings of µtorrent (Default = "8080"). ; Return values .: Success - True ; Failure - False ; Author ........: JohnOne/Supagusti - added Support for uTorrent 3.0 ; Modified.......: Supagusti (http://supagusti.at.tf) ; Remarks .......: ; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Func _TorrentSet_GL_UD($sUser, $sPass, $sUp = 0, $sDown = 0, $sIP = @IPAddress1, $sPort = "8080") $aParams = _Get_Token($sUser, $sPass, $sIP, $sPort) $sURL = $aParams[0] & "?token=" & $aParams[1] & "&action=setsetting&s=max_ul_rate&v=" & $sUp & "&s=max_dl_rate&v=" & $sDown ;~ $temp = BinaryToString(InetRead($sURL), 1) $objHTTP.open ("GET", $sURL, False) $objHTTP.SetCredentials($sUser, $sPass, 0) $objHTTP.SetRequestHeader ("Content-Type", "application/x-www-form-urlencoded") $objHTTP.Send() $temp= $objHTTP.ResponseText ;~ $temp2= $objHTTP.Status ;~ $temp3= $objHTTP.StatusText ;~ ConsoleWrite("$objHTTP.ResponseText="&$temp&@CRLF) ;~ ConsoleWrite("$objHTTP.Status="&$temp2&@CRLF) ;~ ConsoleWrite("$objHTTP.StatusText="&$temp3&@CRLF) If StringInStr($objHTTP.ResponseText, '"build"') Then Return True Else Return False EndIf EndFunc ;==>_TorrentSet_GL_UD ; #FUNCTION# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ; ; Name...........: _Get_Settings ; Description ...: Retrieves a list of settings, variable types, and current values supported in your version of µtorrent. ; Syntax.........: _Get_Settings($sUser, $sPass, $sIP, $sPort) ; Parameters ....: $sUser - Username as set in the Web UI settings of µtorrent. ; $sPass - Password as set in the Web UI settings of µtorrent. ; $sIP - [Optional] Local or remote IP of the target machine running µtorrent (Deafault = @IPAddress1). ; $sPort - [Optional] Port to access as set in the Web UI settings of µtorrent (Default = "8080"). ; Return values .: Success - A 2 dimensional array, where colum 0 = the setting name, colum 1 = the type of variable you can use.... ; ... (0=integer 1=boolean 2=string), colum 2 = The current setting of the variable. ; Failure - False ; Author ........: JohnOne/Supagusti - added Support for uTorrent 3.0 ; Modified.......: Supagusti (http://supagusti.at.tf) ; Remarks .......:The list returned from this function is to get info on a setting you can alter using _Set_Settings() function ; There are too many to list here and they may vary between µtorrent versions ; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Func _Get_Settings($sUser, $sPass, $sIP = @IPAddress1, $sPort = "8080") Local $tmpfile = @ScriptDir & "\temp.txt" $aParams = _Get_Token($sUser, $sPass, $sIP, $sPort) $GSettings_URL = $aParams[0] & "?action=getsettings&token=" & $aParams[1] ;~ $temp = InetRead($GSettings_URL) ;~ $temp = BinaryToString($temp, 1) ;~ $temp = StringRegExpReplace($temp, "(\s)", "") $objHTTP.open ("GET", $GSettings_URL, False) $objHTTP.SetCredentials($uTorrentServerUsername, $uTorrentServerPassword, 0) $objHTTP.SetRequestHeader ("Content-Type", "application/x-www-form-urlencoded") $objHTTP.Send() $temp1= $objHTTP.ResponseText ;~ $temp2= $objHTTP.Status ;~ $temp3= $objHTTP.StatusText ;~ ConsoleWrite("_Get_List.ResponseText="&$temp1&@CRLF) ;~ ConsoleWrite("_Get_List.Status="&$temp2&@CRLF) ;~ ConsoleWrite("_Get_List.StatusText="&$temp3&@CRLF) Local $temp = StringStripWS ($temp1,8) $temp = _StringBetween($temp,"[[", "]]") FileWrite($tmpfile,$temp[0]) $sfile = FileRead($tmpfile) $atemp = StringSplit($sfile, "],[" , 3) Local $aFinalList[UBound($atemp)][3] For $i = 0 To UBound($atemp)-1 $atemp2 = StringSplit($atemp[$i], ",", 2) For $j = 0 To 2 $aFinalList[$i][$j] = $atemp2[$j] Next Next $atemp = 0 FileDelete($tmpfile) If IsArray($aFinalList) And $aFinalList[0][2] <> "" Then Return $aFinalList Else Return False EndIf EndFunc ; #INTERNAL FUNCTIONS# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ; Name...........: _Get_Token ; Description ...: Retrieves a security token needed to acces the web API ; ; Name...........: _Get_List ; Description ...: Retrieves a list of torrents, using the token ; ; Name...........: _Get_Hash ; Description ...: Retrieves a hash of a given torrent, needed to perform actions on them ; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ; ===============> Mod by Supagusti (http://supagusti.at.tf)- added support for uTorrent 3.0, used WINHTTP Objects, tested under Win7SP1x64
supagusti Posted November 19, 2011 Posted November 19, 2011 I've no idea why that array wont work for you, the return from _stringbetween() should hold the first found strinh in [0] of the array. I just put these things down to anomalys What OS you using? Hi John, I've found out, why sometimes the [0] position and sometimes the [1] position contains the data: Its because of the label of the torrent. If the label is empty the returned string from utorrent looks like this: {"build":25583,"label": [ ] ,"torrents": [ ["7D9E152B4CDF4FB746DCE5D7F447666B82071E86",201,"Torrent name is not relevant",260962304,0,0,0,0,0,0,-1,"",0,0,0,0,0,1,260962304,"","","Download","7203ae3",1321629214,0,"","D:Downloaded Files",0]] ,"torrentc": "1906666953" ..... and if the label is set for example to MyLabel the string looks like this: {"build":25583,"label": [ ["MyLabel",1] ] ,"torrents": [ ["7D9E152B4CDF4FB746DCE5D7F447666B82071E86",201,"Torrent name is not relevant",260962304,0,0,0,0,0,0,-1,"MyLabel",0,0,0,0,0,1,260962304,"","","Download","7203ae3",1321629214,0,"","D:Downloaded Files",0]] ,"torrentc": "2021855176" ..... you are looking for a string between [[ ]] with the command _StringBetween(StringStripWS ($temp1,8), "[[", "]]") in the first case the returned array contains 1 entry -> Pos [0] in the 2nd case the returned array contrains 2 entry -> Pos [0] is the label data, Pos[1] is the torrent data. I modified the _Get_List Function so that it works in both cases: Func _Get_List($aParams) Local $sList_URL = $aParams[0] & "?list=1" & "&token=" & $aParams[1] $objHTTP.open ("GET", $sList_URL, False) $objHTTP.SetCredentials($uTorrentServerUsername, $uTorrentServerPassword, 0) $objHTTP.SetRequestHeader ("Content-Type", "application/x-www-form-urlencoded") $objHTTP.Send() $temp1= $objHTTP.ResponseText $temp1=StringRight($temp1,(StringLen($temp1)-StringInStr ( $temp1, '"torrents":' ))) ; strip of the content before the torrent data !!!! Local $temp = _StringBetween(StringStripWS ($temp1,8), "[[", "]]") Local $aList = StringSplit($temp[0], "],[", 3) Local $aFinalList[19][UBound($aList)] For $i = 0 To UBound($aFinalList, 2) - 1 $atemp = StringSplit($aList[$i], ",", 2) For $j = 0 To 18 $aFinalList[$j][$i] = $atemp[$j] Next Next Return $aFinalList EndFunc ;==>_Get_List Also check out my homepage for further information....
JohnOne Posted December 16, 2011 Author Posted December 16, 2011 Cheers, not had time to try it, haven't had utorrent installed for some time (streaming instead ) AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now