搜索了很多文章,基本都是手动去设置cookies的值啥的,也有说new一个`http.Client{Jar: cookiejar.New(nil)}`的,我用了感觉没用。
想请问下非api的网站(就是第一次请求获取token,后续请求带token的)如何用net/http调用,下面是我目前每次请求前设置的代码,问了几个人说法众说纷坛的。。。,目前扫描的和一个需求都是登陆后要把header的cookies保持住后续每次请求都带上,go的http client这么麻烦吗,请大佬写个简单的demo
```
requestBody := strings.NewReader("username="+os.Getenv("username")+"&password="+ os.Getenv("password"))
req, err := http.NewRequest("POST", loginUrl, requestBody)
if err != nil {
fmt.Println(err)
}
resp, err := http.DefaultClient.Do(req)
.....
ac.Cookies = resp.Cookies()
------------
// 下一次请求
body := strings.NewReader(.....)
req, err := http.NewRequest("POST", commentUrl, body)
if err != nil {
fmt.Println(err)
}
req.Header.Set("X-Requested-With", "XMLHttpRequest")
for _, cookie := range ac.Cookies {
req.AddCookie(cookie)
}
resp, err := http.DefaultClient.Do(req)
...
```
有疑问加站长微信联系(非本文作者)
![](https://static.golangjob.cn/static/img/footer.png?imageView2/2/w/280)