2013-03-03 3 views
0

Я видел много способов, чтобы установить, как:Heroku Python: Каков правильный способ установки и получения файлов cookie?

# store in a cookie 
cookie = Cookie.SimpleCookie() 
cookie['lat'] = lat 
cookie['lon'] = lon 
# expires in one hour 
cookie['lat']['expires'] = time.time() + 1 * 24 * 3600 
cookie['lon']['expires'] = time.time() + 1 * 24 * 3600 
print cookie 

и проверить, как:

cookie = Cookie.SimpleCookie() 
cookie.load(os.environ.get('HTTP_COOKIE')) 
lat = float(cookie['lat'].value) 
lon = float(cookie['lon'].value) 

, но ни один из них не похоже на работу на моем локальном хосте. Является ли это функцией моего кода или находится на локальном хосте. Я еще не делал много dev/cookie и не знаю, как правильно хранить такие данные, как данные пользователя и данные для моего приложения.

+1

Сохранение пользователей гео позиции к cookie - серьезная проблема конфиденциальности! Вы понимаете, что их lat/long будет отправляться туда и обратно с каждым запросом страницы с вашего веб-сервера через общедоступную сеть? Возможно, лучше зашифровать данные или сохранить их на сервере с помощью ключа. –

+0

Да, я знаю, но хранить его в cookie для тестирования намного проще и проще на данный момент. – mitchfuku

ответ

0

Фигурные его с URL переадресации:

from flask import make_response, redirect, url_for 

response = make_response(redirect('/')) 

lat = request.form['lat'] 
lon = request.form['lon'] 
response.set_cookie('lat', lat) 
response.set_cookie('lon', lon) 

return response 

Это как получить печенье:

lat = float(request.cookies['lat']) 
lon = float(request.cookies['lon']) 
0

Вы вводите в заблуждение os.environ с окружающей средой текущего запроса. Это совершенно разные вещи. Os environ является локальным для вашего компьютера, он не имеет ничего общего с веб-сервером.

Для окружающей среды, которую вы ищете, вам необходимо находиться внутри веб-сервера при обработке запроса.

Может быть, это поможет: http://en.wikipedia.org/wiki/Http_request#Technical_overview

+0

Да, я немного смутился о том, как они работали. Думаю, я ответил на свой вопрос в своем ответе. Спасибо за статью! – mitchfuku

Смежные вопросы