这是我的问题:与python中一样,在go中执行相同的请求将不会返回相同的cookie,即使两者都在相同的端点上使用相同的http方法。这是我的python代码:
import requests
r = requests.get("https://instagram.com/paperclip")
for cooke in r.cookies:
print(cooke)
这可以按预期工作,应将其视为控件。这是我的执行代码:
resp, err := http.Get("https://instagram.com/paperclip")
if err != nil {
panic(err)
}
for _, cookie := range resp.Cookies() {
fmt.Println(cookie.Name, cookie.Value)
}
唯一的区别是golang完全没有cookie,我不确定为什么。有没有人经历过这个/知道为什么golang的行为会有所不同?
编辑:在相关的情况下:缺少的特定cookie是“ urlgen =“ {[ip:port]}:[某种令牌]”
答案 0 :(得分:0)
我已经在本地环境中尝试过您的代码,并且效果很好:
$ cat main.go
package main
import (
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("https://instagram.com/paperclip")
if err != nil {
panic(err)
}
for _, cookie := range resp.Cookies() {
fmt.Println(cookie.Name, cookie.Value)
}
}
$ go run main.go
urlgen {}:1gG5sj:plSKGgHYyLBefEhRrGVeZvPAs_M
mid W9MxTQAEAAGGiuN4IK97_H18ESVR
rur FRC
mcd 3
csrftoken LMddnPjpoVZB2p9X6bPJrGKWAzoMmMCO
$ go version
go version go1.11 darwin/amd64