访问端
from urllib.parse import urlencode
import base64
import json
import urllib.request
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
def get(api,user,password):
auth=" Basic "+base64.b64encode(("%s:%s" % (user,password)).encode()).decode()
req=urllib.request.Request(url=api,headers={"Authorization":auth},method="GET")
req=urllib.request.urlopen(req)
res=req.read()
res=json.loads(res)
return res
django 服务端
def login(request:HttpRequest):
if 'HTTP_AUTHORIZATION' in request.META:
auth = request.META.get('HTTP_AUTHORIZATION').split()
if len(auth) == 2:
# NOTE: We are only support basic authentication for now.
#
if auth[0].lower() == "basic":
print("type %r auth1: %r" % (type(auth[1]), auth[1]))
user, passwd = base64.b64decode(auth[1]).decode().split(':')
return HttpResponse("user:%s, password:%s" %(user,passwd))
else:
return HttpResponse("Auth Fail")