las habilitar google desactivar cómo configuracion como chrome celular activar cookies go

google - habilitar cookies chrome



Configuración de cookies con net/http (7)

Estoy tratando de establecer las cookies con el paquete net / http de Go. Yo tengo:

package main import "io" import "net/http" import "time" func indexHandler(w http.ResponseWriter, req *http.Request) { expire := time.Now().AddDate(0, 0, 1) cookie := http.Cookie{"test", "tcookie", "/", "www.domain.com", expire, expire.Format(time.UnixDate), 86400, true, true, "test=tcookie", []string{"test=tcookie"}} req.AddCookie(&cookie) io.WriteString(w, "Hello world!") } func main() { http.HandleFunc("/", indexHandler) http.ListenAndServe(":80", nil) }

Intenté buscar en Google ''Golang'' con ''cookies'', pero no obtuve ningún buen resultado. Si alguien puede señalarme en la dirección correcta, sería muy apreciado.


A continuación se muestra cómo usamos cookies en nuestro producto:

func handleFoo(w http.ResponseWriter, r *http.Request) { // cookie will get expired after 1 year expires := time.Now().AddDate(1, 0, 0) ck := http.Cookie{ Name: "JSESSION_ID", Domain: "foo.com", Path: "/", Expires: expires, } // value of cookie ck.Value = "value of this awesome cookie" // write the cookie to response http.SetCookie(w, &ck) // ... }


En primer lugar, debe crear Cookie y luego usar la función SetCookie () del paquete http para establecer la cookie.

expire := time.Now().Add(10 * time.Minute) cookie := http.Cookie{Name: "User", Value: "John", Path: "/", Expires: expire, MaxAge: 90000} http.SetCookie(w, &cookie)


Este código a continuación te ayuda

cookie1 := &http.Cookie{Name: "sample", Value: "sample", HttpOnly: false} http.SetCookie(w, cookie1)


No funcionaba para mí en Safari hasta que agregué Path y MaxAge. Tanto las cookies seguras como las normales funcionaron para mí

Compartir para que ayude a alguien que está atrapado como yo por más de 2 días :)

expire := time.Now().Add(20 * time.Minute) // Expires in 20 minutes cookie := http.Cookie{Name: "username", Value: "nonsecureuser", Path: "/", Expires: expire, MaxAge: 86400} http.SetCookie(w, &cookie) cookie = http.Cookie{Name: "secureusername", Value: "secureuser", Path: "/", Expires: expire, MaxAge: 86400, HttpOnly: true, Secure: true} http.SetCookie(w, &cookie)


No soy un experto de Go, pero creo que estás configurando la cookie en la solicitud, ¿no? Es posible que desee configurarlo en la respuesta. Hay una función setCookie en net / http. Esto podría ayudar: http://golang.org/pkg/net/http/#SetCookie

func SetCookie(w ResponseWriter, cookie *Cookie)



//ShowAllTasksFunc is used to handle the "/" URL which is the default ons func ShowAllTasksFunc(w http.ResponseWriter, r *http.Request){ if r.Method == "GET" { context := db.GetTasks("pending") //true when you want non deleted notes if message != "" { context.Message = message } context.CSRFToken = "abcd" message = "" expiration := time.Now().Add(365 * 24 * time.Hour) cookie := http.Cookie{Name: "csrftoken",Value:"abcd",Expires:expiration} http.SetCookie(w, &cookie) homeTemplate.Execute(w, context) } else { message = "Method not allowed" http.Redirect(w, r, "/", http.StatusFound) } }

Hay una diferencia básica entre Requests y ResponseWriter , una Solicitud es lo que un navegador enviará como

Host: 127.0.0.1:8081 User-Agent: ... Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate DNT: 1 Referer: http://127.0.0.1:8081/ Cookie: csrftoken=abcd Connection: keep-alive

y una respuesta es lo que el controlador enviará, algo así como:

Content-Type: text/html; charset=utf-8 Date: Tue, 12 Jan 2016 16:43:53 GMT Set-Cookie: csrftoken=abcd; Expires=Wed, 11 Jan 2017 16:43:53 GMT Transfer-Encoding: chunked <html>...</html>

Cuando el navegador haga una solicitud, incluirá la cookie para ese dominio, ya que las cookies se almacenan en el dominio y no se puede acceder desde dominios cruzados. Si configura una cookie como HTTP, solo podrá acceder a ella desde el sitio web que lo establece a través de HTTP y no a través de JS.

Entonces, al obtener información de las cookies, puede hacer eso desde el método r.Cookie, como este

cookie, _ := r.Cookie("csrftoken") if formToken == cookie.Value {

https://github.com/thewhitetulip/Tasks/blob/master/views/addViews.go#L72-L75

Pero cuando va a establecer una cookie, debe hacerlo en el método de escritura de respuesta, la solicitud es un objeto de solo lectura al que respondemos, piense en ello como un mensaje de texto que recibe de alguien, es decir, una solicitud, solo puede obtenerlo, lo que escribe es una respuesta, por lo que puede ingresar una cookie en

para más detalles: https://thewhitetulip.gitbooks.io/webapp-with-golang-anti-textbook/content/content/2.4workingwithform.html