diff --git a/channels/streamingcommunity.py b/channels/streamingcommunity.py index f1e2d73c..56c5ca52 100644 --- a/channels/streamingcommunity.py +++ b/channels/streamingcommunity.py @@ -17,21 +17,23 @@ host = support.config.get_channel_url(findhost) session = requests.Session() headers = {} -def getHeaders(): +def getHeaders(forced=False): global headers global host - # support.dbg() if not headers: - headers = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14'} - response = session.get(host, headers=headers) - if response.status_code != 200 or response.url != host: + try: + headers = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14'} + response = session.get(host, headers=headers) + csrf_token = support.match(response.text, patron='name="csrf-token" content="([^"]+)"').match + headers = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14', + 'content-type': 'application/json;charset=UTF-8', + 'Referer': host, + 'x-csrf-token': csrf_token, + 'Cookie': '; '.join([x.name + '=' + x.value for x in response.cookies])} + except: host = support.config.get_channel_url(findhost, forceFindhost=True) - csrf_token = support.match(response.text, patron='name="csrf-token" content="([^"]+)"').match - headers = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14', - 'content-type': 'application/json;charset=UTF-8', - 'Referer': host, - 'x-csrf-token': csrf_token, - 'Cookie': '; '.join([x.name + '=' + x.value for x in response.cookies])} + if not forced: getHeaders(True) + getHeaders() @support.menu