前提・実現したいこと
golangを使って、Cookieを利用してリダイレクトするページを net/http で取得したいと考えています。
対象のサイト(example.com)は、 トップページへのアクセス時に、
Cookieを以下のような2つのCookieをクライアントに渡し、 example.com/input へリダイレクトさせます。
set-cookie: EXAMPLE-COOKIE=xxxxxxxxxxx; path=/; secure; HttpOnly set-cookie: example-cookie[id]=yyyyyyy; path=/; secure; httponly
上記2つのCookieを受け取り example.com/input へリダイレクトすると、正しいコンテンツが表示されますが、
Cookieを正常にSet出来ない場合は正しくコンテンツが表示されない仕様です。
発生している問題・エラーメッセージ
net/http/cookiejar
を利用してCookieをリクエストにSetしたいのですが、
Setされず、正しくないコンテンツが表示されます。
該当のソースコード
go
1package main 2 3import ( 4 "golang.org/x/net/publicsuffix" 5 "io/ioutil" 6 "log" 7 "net/http" 8 "net/http/cookiejar" 9) 10 11func main() { 12 options := cookiejar.Options{ 13 PublicSuffixList: publicsuffix.List, 14 } 15 jar, err := cookiejar.New(&options) 16 if err != nil { 17 log.Fatal(err) 18 } 19 client := http.Client{Jar: jar} 20 resp, err := client.Get("https://example.com/") 21 if err != nil { 22 log.Fatal(err) 23 } 24 data, err := ioutil.ReadAll(resp.Body) 25 resp.Body.Close() 26 if err != nil { 27 log.Fatal(err) 28 } 29 log.Println(string(data)) 30}
試したこと
補足情報(FW/ツールのバージョンなど)
- Goのバージョン:
go version go1.12.5 darwin/amd64
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/18 08:26