陈旧输入输入密码

时间:2012-11-10 20:49:22

标签: python

我遇到以下问题,用户一直按下"输入键"在python脚本运行时在命令窗口中运行...以下是在命令窗口上运行的内容,但是用户一直按下输入,最终输入密码并且脚本失败,我该如何防止这种情况?

 Parsing the XML

 Building the build combo table

  **Password: //asks for password but user had multiple enter key presses above which is taken as passoword and fails**

Python代码: -

url='http://wiki.com/'+wikiName+'/w/index.php?title='+hId +'_'+rId+'&action=edit'
cookiehand = urllib2.HTTPCookieProcessor()
password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
password_mgr.add_password(user=getpass.getuser(),passwd=getpass.getpass(),uri=authhost,realm=realm)
auth_handler = urllib2.HTTPBasicAuthHandler(password_mgr)
opener = urllib2.build_opener(auth_handler, cookiehand)
urllib2.install_opener(opener)
# make the request
req = urllib2.Request(url=url)
try:
    f = urllib2.urlopen(req)
    txt = f.read()
    f.close()
except urllib2.HTTPError, e:
    txt = ''
    print 'An error occured connecting to the wiki. No wiki page will be generated.'//eventually gets this error

1 个答案:

答案 0 :(得分:0)

您需要做的是验证输入。像这样:

user = ""
pass = ""

while not user and not pass:
    user = getpass.getuser()
    passwd = getpass.getpass()

请注意,如果允许空白密码,则无法使用此功能。如果您可以控制getpass库,那么在这两个方法中移动验证可能更有意义,并且可能使用validate=False

之类的默认参数使它们成为可选项