golang

2015-02-01 29 views
9

içinde tanımlama bilgisi çerezi Tarayıcıda document.cookie yazarak tanımlama bilgisi alırsam, ham dizeyi ayrıştırmanın ve http.Cookie olarak kaydetmenin herhangi bir yolu var mı?golang

+0

Eğer memnun misiniz versiyonu? – waitingkuo

cevap

10
package main 

import (
    "bufio" 
    "fmt" 
    "net/http" 
    "strings" 
) 

func main() { 
    rawCookies := "cookie1=value1;cookie2=value2" 
    rawRequest := fmt.Sprintf("GET/HTTP/1.0\r\nCookie: %s\r\n\r\n", rawCookies) 

    req, err := http.ReadRequest(bufio.NewReader(strings.NewReader(rawRequest))) 

    if err == nil { 
     cookies := req.Cookies() 
     fmt.Println(cookies) 
    } 
} 

Playground

+0

Bu harika, teşekkürler! – waitingkuo

9

Biraz daha kısa bir -1 olsun neden

package main 

import (
    "fmt" 
    "net/http" 
) 

func main() { 
    rawCookies := "cookie1=value1;cookie2=value2" 

    header := http.Header{} 
    header.Add("Cookie", rawCookies) 
    request := http.Request{Header: header} 

    fmt.Println(request.Cookies()) // [cookie1=value1 cookie2=value2] 
} 

http://play.golang.org/p/PLVwT6Kzr9