インターネットにアクセスするための Web ベースのログインを備えた Reliance Broadband を使用しています。24 時間ごとにログオフされるため、再度サインインする必要があります。
接続をチェックし続け、接続を維持するPYTHON scriptに出会いました。
どういうわけか、最新の Python バージョンをインストールした後に Windows で実行すると、次の構文エラーが発生します。
C:\Documents and Settings\CS\Desktop>reliance-login.py
File "C:\Documents and Settings\CS\Desktop\reliance-login.py", line 48
if debug: print "Testing"
^
SyntaxError: invalid syntax
誰でも確認して、正確に何が問題なのか教えてもらえますか?
=====
sr2222 に感謝します。すべての + n - を削除した後、2to3 を試しました ... まだエラーが発生しています。
以下は 2to3 後のスクリプトです。お使いのマシンで実行して、エラーを修正してください。
#!/usr/bin/env python
# encoding: utf-8
"""
# Reliance Login Script for Python 2.x v1.0
#
# Copyright (c) 2009 Kunal Dua, http://www.kunaldua.com/blog/?p=330
# Copyright (c) 2012 Anoop John, http://www.zyxware.com
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
"""
import urllib.request, urllib.error, urllib.parse, urllib, http.cookiejar, time, re, sys
username = 'username'
password = 'password'
req_headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; U; ru; rv:5.0.1.6) Gecko/20110501 Firefox/5.0.1 Firefox/5.0.1'
}
request = urllib.request.Request(url, headers=req_headers)
if not opener:
jar = http.cookiejar.FileCookieJar("cookies")
opener = urllib.request.build_opener(urllib2.HTTPCookieProcessor(jar))
response = opener.open(request, data)
code = response.code
headers = response.headers
def is_internet_on():
'''test if the machine is connected to the internet'''
if debug: print("Testing")
try:
code, headers, html, opener = get_url('http://74.125.113.99', timeout=10)
if debug: print(html)
if re.search('google.com', html):
return True
else:
return False
except:
if debug: print("Error")
return False
return False
def internet_connect():
'''try to connect to the internet'''
code, headers, html, cur_opener = get_url("http://10.239.89.15/reliance/startportal_isg.do", timeout=10)
if debug: print(html)
login_data = urllib.parse.urlencode({'userId' : username, 'password' : password, 'action' : 'doLoginSubmit'})
code, headers, html, cur_opener = get_url('http://10.239.89.15/reliance/login.do', data=login_data, opener=cur_opener)
if debug: print(html)
def internet_disconnect():
'''try to disconnect from the internet'''
code, headers, html, cur_opener = get_url('http://10.239.89.15/reliance/login.do', timeout=10)
if debug: print(html)
code, headers, html, cur_opener = get_url('http://10.239.89.15/reliance/logout.do', opener=cur_opener)
if debug: print(html)
def internet_keep_alive():
'''login and keep the connection live'''
while True:
if not is_internet_on():
internet_connect()
if debug: print("Not connected")
else:
if debug: print("Connected")
pass
time.sleep(check_interval)
def print_usage():
print("Reliance Netconnect AutoLogin")
print("-----------------------------")
print("usage:" + sys.argv[0] + " [login|logout]\n")
print("If there are no arguments it runs in an infinite loop and will try to remain connected to the internet.")
keep_alive = True
if (len(sys.argv) > 1):