Estoy trabajando con SimpleCookie de Python y me encontré con este problema y no estoy seguro si es algo con mi sintaxis o qué. Además, este es un trabajo de clase para mi clase de Python, por lo que está destinado a enseñar sobre Python, así que esto está muy lejos de la forma en que lo haría en el mundo real.Se están agregando barras invertidas en mi cookie en Python
De todos modos, así que básicamente estoy manteniendo la entrada de información en un formulario en una cookie. Estoy intentando anexar a la cookie anterior con la nueva información ingresada. Pero por alguna razón en la tercera entrada de datos, la cookie de repente se pone "\" en ella. Sin embargo, no estoy seguro de dónde vienen.
Este es el tipo de salida que estoy recibiendo:
"\" \\ "\\\\" prueba: más \\\\ ": rttre \\": más \ "; y más"
#!/usr/local/bin/python
import cgi,os,time,Cookie
#error checking
import cgitb
cgitb.enable()
if 'HTTP_COOKIE' in os.environ:
cookies = os.environ['HTTP_COOKIE']
cookies = cookies.split('; ')
for myCookie in cookies:
myCookie = myCookie.split('=')
name = myCookie[0]
value = myCookie[1]
if name == 'critter' :
hideMe = value
#import critterClass
#get info from form
form = cgi.FieldStorage()
critterName = form.getvalue('input')
input2 = form.getvalue('input2')
hiddenCookie = form.getvalue('hiddenCookie')
hiddenVar = form.getvalue('hiddenVar')
#make cookie
cookie = Cookie.SimpleCookie()
#set critter Cookie
if critterName is not None:
cookie['critter'] = critterName
#If already named
else:
#if action asked, append cookie
if input2 is not None:
cookie['critter'] = hideMe+":"+input2
else:
cookie['critter'] = "default"
print cookie
print "Content-type: text/html\n\n"
if ((critterName is None) and (input2 is None)):
print """
<form name="critter" id="critter" method="post" action="critter.py">
<label for="name">Name your pet: <input type="text" name="input" id="input" /></label>
<input type="submit" name="submit" id="submit" value="Submit" />
</form>
"""
else:
formTwo ="""
<form name="critter2" id="critter2" method="post" action="critter.py">
<label for="name">%s wants to: <input type="text" name="input2" id="input2" /></label>
<input type="hidden" name="hiddenVar" id="hiddenVar" value="%s" />
<input type="submit" name="submit" id="submit" value="Submit" />
</form>
[name,play,feed,mood,levels,end]
"""
print formTwo % (critterName,critterName)
if 'HTTP_COOKIE' in os.environ:
cookies = os.environ['HTTP_COOKIE']
cookies = cookies.split('; ')
for myCookie in cookies:
myCookie = myCookie.split('=')
name = myCookie[0]
value = myCookie[1]
if name == 'critter' :
print "name"+name
print "value"+value
Gravemente interesante formateo. Eché un vistazo para arreglarlo, pero era sopa de etiqueta. :) Inténtalo de nuevo, límpialo para que parezca el código Python normal, luego selecciona el bloque de código y haz clic en el botón "Ejemplo de código" encima del editor (el "101010"). – unwind
Me disculpo, espero que esto sea mejor. – Levi
Mucho mejor, gracias! :) – unwind