{"url":"https://memo.sugyan.com/entry/20090311/1236724687","height":"190","blog_title":"\u3059\u304e\u3083\u30fc\u3093\u30e1\u30e2","blog_url":"https://memo.sugyan.com/","provider_url":"https://hatena.blog","version":"1.0","width":"100%","description":"Google App Engine \u3067Basic\u8a8d\u8a3c\u3092\u5b9f\u88c5 - \u3059\u304e\u3083\u30fc\u3093\u30e1\u30e2\u304b\u3089\u5c11\u3057\u6539\u826f\u3057\u3066\u307f\u305f\u3002 # -*- coding: utf-8 -*- import logging from base64 import b64decode from google.appengine.ext import webapp class BasicAuthentication(webapp.RequestHandler): def __init__(self): logging.getLogger().setLevel(logging.DEBUG) def get(self): # Basic\u8a8d\u8a3c if\u2026","categories":["Python","GoogleAppEngine"],"type":"rich","title":"Google App Engine \u3067Basic\u8a8d\u8a3c\u3092\u5b9f\u88c5 \u6539","published":"2009-03-11 07:38:07","image_url":null,"html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fmemo.sugyan.com%2Fentry%2F20090311%2F1236724687\" title=\"Google App Engine \u3067Basic\u8a8d\u8a3c\u3092\u5b9f\u88c5 \u6539 - \u3059\u304e\u3083\u30fc\u3093\u30e1\u30e2\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","provider_name":"Hatena Blog","author_name":"sugyan","author_url":"https://blog.hatena.ne.jp/sugyan/"}