#!/usr/bin/env python """ Digiturk Web TV mms link provider. """ __author__ = "haprika" __version__ = "1.0" import mechanize import cookielib import sys import logging import time if __name__ == "__main__": if len(sys.argv) != 3: print "usage: " + sys.argv[0] + " [username] [password]" sys.exit() channels = [ ["LigTV 1200k","817142826"], ["LigTV 650k","817142825"], ["LigTV 256k","817145857"], ["NTV","817132543"], ["TRT 1","817132548"], ["SHOW Turk","817132544"], ["Turk Max","817132547"], [ "ATV","817132536"], ["Fox","817132540"], ["Tv8","817132537"], ["SHOW Max","817132542"], ["Kanal Turk","817132538"], ["CNBC-E","817132535"], ["Sky Turk","817132545"], ["Haber Turk","1084891090"] ] for i, channel in enumerate(channels): print "[", i, "]", channel[0] channel = channels[int(raw_input('Kanal: '))] channel_code = channel[1] # logger = logging.getLogger("mechanize") # logger.addHandler(logging.FileHandler('digiturk.log')) # logger.setLevel(logging.DEBUG) br = mechanize.Browser() cj = cookielib.LWPCookieJar() br.set_cookiejar(cj) br.set_handle_equiv(True) br.set_handle_refresh(False) br.set_handle_redirect(True) br.set_handle_referer(True) br.set_handle_robots(False) br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1) # br.set_debug_http(True) # br.set_debug_redirects(True) # br.set_debug_responses(True) br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')] br.open('https://www.digiturkwebtv.com/Logins.aspx') br.select_form(nr=0) br.form['ctl00$ContentPlaceHolder1$txtUserName'] = sys.argv[1] br.form['ctl00$ContentPlaceHolder1$txtPassword'] = sys.argv[2] br.submit() data = 'kanal=' + channel_code br.open('http://www.digiturkwebtv.com/adminchannel.aspx', data) link = br.response().read() if link.find('mms')!=0: print 'Gecerli link alinamadi. Kullanici adi / parola yanlis olabilir, bir daha dene istersen.' else: print link.split('&')[0] br.open('http://www.digiturkwebtv.com/WatchTv2.aspx') try: br.select_form(nr=1) viewstate = br.form['__VIEWSTATE'] eventval = br.form['__EVENTVALIDATION'] br.form.set_all_readonly(False) br.form["__EVENTTARGET"] = 'ctl00%24imgLogoutButton' br.form["__EVENTARGUMENT"] = '' br.form["__VIEWSTATE"] = viewstate br.form["__VIEWSTATEENCRYPTED"] = '' br.form["__EVENTVALIDATION"] = eventval br.submit() except mechanize.FormNotFoundError: pass cj.clear()