appcfg.py, инструмент, который загружает данные на Механизм Приложения, должен сделать точно это для аутентификации себя с сервером Механизма Приложения. Соответствующая функциональность абстрагирована в appengine_rpc.py. Короче говоря решение:
можно также хотеть посмотреть _Authenticate, видеть, как appcfg обрабатывает различные коды возврата от ClientLogin, и _GetOpener, чтобы видеть, как appcfg создает urllib2 OpenerDirector, который не следует за перенаправлениями HTTP. Или Вы могли, на самом деле, просто использовать оптовую торговлю классами AbstractRpcServer и HttpRpcServer, так как они делают в значительной степени все, в чем Вы нуждаетесь.
Максимальное значение 32-разрядного целого числа составляет 2 147 483 647. Если вы добавите +1 к этому, вы получите -2 147 483 647. 2 147 483 647 секунд с 01-01-1970 00:00:00 по 19 января 2038 года. Если вы добавите еще одну секунду, вы получите дату где-то в 1902 году.
из-за ограничения типа данных INT на 32-битной машине
http://php.net/manual/en/function.mktime.php
из php.net: «Максимально возможная дата, принятая mktime () и gmmktime (), зависит от текущего часового пояса местоположения.
Например, переполнение 32-битной метки времени происходит в 2038-01-19T03: 14: 08 + 0000Z. Но если вы находитесь в часовом поясе UTC-0500 (например, EST в Северной Америке), максимальное допустимое время до переполнения (для более старых версий PHP в Windows) составляет 2038-01-18T22: 14: 07-0500Z, независимо от того, передаете ли вы его в mktime () или gmmktime (). "
я предполагаю, что он хранится в фиксированном количестве битов, что означает ограничение на то, насколько большой может быть временная метка. Мы могли бы сделать некоторую математику, чтобы понять это точно.