私は基本的に、あなたはそれがfound.txtで結果を出力.txtファイル&にユーザ名のリストを入力して、私が遊ぶゲームのためhiscoreチェッカーを書きました。Pythonのカスタム404応答エラー
しかし、ページが404を応答する場合には、代わりにリストを続ける「0」&として出力を返すエラーがスローされます。動作していないようです
スクリプトの例、
#!/usr/bin/python
import urllib2
def get_total(username):
try:
req = urllib2.Request('http://services.runescape.com/m=hiscore/index_lite.ws?player=' + username)
res = urllib2.urlopen(req).read()
parts = res.split(',')
return parts[1]
except urllib2.HTTPError, e:
if e.code == 404:
return "0"
except:
return "err"
filename = "check.txt"
accs = []
handler = open(filename)
for entry in handler.read().split('\n'):
if "No Displayname" not in entry:
accs.append(entry)
handler.close()
for account in accs:
display_name = account.split(':')[len(account.split(':')) - 1]
total = get_total(display_name)
if "err" not in total:
rStr = account + ' - ' + total
handler = open('tried.txt', 'a')
handler.write(rStr + '\n')
handler.close()
if total != "0" and total != "49":
handler = open('found.txt', 'a')
handler.write(rStr + '\n')
handler.close()
print rStr
else:
print "Error searching"
accs.append(account)
print "Done"
HTTPERROR例外、以下のよう
except urllib2.HTTPError, e:
if e.code == 404:
return "0"
except:
return "err"
のエラー応答。
今、私が示したエラーは404の応答に関連していないようですが、これが唯一のリクエストから404応答を返すユーザーで発生し、他の要求が正常に動作を理解します。だから私は問題が404の応答例外内にあると仮定することができます。
私はこの問題が、404がリダイレクトされたカスタムページであるという事実にあると思いますか?
元のページは "example.com/index.php"ですが、404は "example.com/error.php"ですか?
修正方法がわかりません。テスト目的で、使用する形式であるため
、
ID:USER:DISPLAY
check.txtに置かれる