Search the Community
Showing results for tags '.torrent'.
-
Hi Guys, I'm trying to create a program that'll download .torrent files for me automatically and place them in a folder so uTorrent starts downloading them. The whole script works flawless (for now) except for the most important part: Downloading the .torrent file. It works, it downloads the .torrent file perfectly, but for some reason uTorrent gives me the error that 'the torrent file was not correctly encoded'. For some reason downloading the torrent with InetGet instead of my browser, fucks it up. The size of the torrent is exactly the same as that of the one I download with my browser, still the files are different. This is my script: #cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.8.1 Author: myName Script Function: Template AutoIt script. #ce ---------------------------------------------------------------------------- ; Script Start - Add your code below here #include <INet.au3> #include <Array.au3> $downloadfolder = 'C:\Users\Ludo\Downloads\torrents' $searchquiry = StringReplace('the hobbit desolation of smaug', ' ', '+') $preferedsite = 'kickmirror' $link = 'http://torrentz.eu/search?f='&$searchquiry $source = _INetGetSource($link, True) $S1 = StringSplit($source, '<a rel="nofollow" href="/searchA?f='&$searchquiry&'"> date </a> | <a rel="nofollow" href="/searchS?f='&$searchquiry&'"> size </a> | <b> peers </b></h3>', 1) $S2 = StringSplit($S1[2], '<dl><dt style="text-align: right">', 1) $S3 = StringSplit($S2[1], @LF, 1) global $torrents[$S3[0]+1][7] $torrents[0][0] = $S3[0]-1 ; Form of $torrents[a][b] for b: ; $torrents[a][0] = total string ; $torrents[a][1] = torrent url ; $torrents[a][2] = torrent title ; $torrents[a][3] = torrent size ; $torrents[a][4] = torrent seeders ; $torrents[a][5] = torrent peers ; $torrents[a][6] = torrent type For $i = 1 to $torrents[0][0] ;MsgBox(0, '', _StringBetw($S3[$i], '<a href="', '">')) $torrents[$i][0] = $S3[$i] $torrents[$i][1] = _StringBetw($S3[$i], '<a href="', '">') $torrents[$i][2] = _StringStrip(_StringBetw($S3[$i], '<a href="'&$torrents[$i][1]&'">', '</a>')) $temp1 = StringSplit($S3[$i], '</a> » ', 1) $temp2 = StringSplit($temp1[2], '</dt><dd>', 1) $temp3 = StringSplit($S3[$i], '</span></span><span class="s">', 1) $temp4 = StringSplit($temp3[2], '</span> <span class="u">', 1) $temp5 = StringSplit($temp4[2], '</span><span class="d">', 1) $temp6 = StringSplit($temp5[2], '</span>', 1) $torrents[$i][3] = $temp4[1] $torrents[$i][4] = $temp5[1] $torrents[$i][5] = $temp6[1] $torrents[$i][6] = $temp2[1] Next ;_ArrayDisplay($torrents) ;ClipPut($torrents[1][1]&@CRLF&@CRLF&$torrents[$torrents[0][0]][2]) $source2 = _INetGetSource('http://torrentz.eu/'&$torrents[1][1]) $A1 = StringSplit($source2, ' torrent download locations</h2><dl><dt>', 1) $A2 = StringSplit($A1[1], '</span> ', 1) $A3 = StringSplit($A1[2], '<a href="', 1) $locations = $A2[$A2[0]] global $tors[$locations+1] $n = 0 For $i = 2 to $locations $A4 = StringSplit($A3[$i], '" ', 1) $tors[$i] = $A4[1] If StringInstr($tors[$i], $preferedsite) Then $n = $i EndIf Next If $n = 0 Then Msgbox(32, 'Too bad', 'No kickmirror torrent links found..') Exit EndIf ;_ArrayDisplay($tors) $source3 = _INetGetSource($tors[$n], True) ;$B1 = _StringBetw($source3, '<a title="Magnet link" href="', '"') ;ShellExecute($B1) $B1 = _StringBetw($source3, '<a rel="nofollow" title="Download verified torrent file" href="', '"') $B2 = StringSplit($B1, '.torrent?title=', 1) $finallink = $B2[1]&'.torrent' InetGet($finallink,$downloadfolder&'\'&$B2[2]&'.torrent', 4) MsgBox(32, 'Succes', 'Torrent started downloading!') Func _StringBetw($string, $start, $end) $pa = StringSplit($string, $start, 1) If $pa[0] < 2 Then Return 0 $pb = StringSplit($pa[2], $end, 1) Return $pb[1] EndFunc Func _StringStrip($string) $s = StringReplace($string, '<b>', '') $s1 = StringReplace($s, '</b>', '') Return $s1 EndFunc Please try it out, then try to run the torrent with utorrent or some other torrent downloader. If somebody knows what the problem is, I'd be very happy if you'd help me here! Thnx in advance, Ludo