有时候网页需要HTTP认证才能登录,那么,怎么办呢?
这里需要注意的是,其与cookie和form的认证是不同的,HTTP认证主要与加密通信结合使用;
因涉及的,类比较多,直接上代码了,不过有注释应该可以看懂:
import sys, urllib.request
from urllib.request import HTTPBasicAuthHandler, HTTPPasswordMgr, build_opener
import getpass
# build a class for getting password and user
class TerminalPassword(HTTPPasswordMgr):
def find_user_password(self, realm, authuri):
retval = HTTPPasswordMgr.find_user_password(self, realm, authuri)
if retval[0] == 0 and retval[1] == 0:
sys.stdout.write("Login required for %s at %s\n "%(realm,authuri))
sys.stdout.write("Username: ")
us