golang HTTP cookie 登陆百度

long · 2017-09-01 01:21:20 · 4057 次点击 · 预计阅读时间 2 分钟 · 大约8小时之前 开始浏览    
这是一个创建于 2017-09-01 01:21:20 的文章,其中的信息可能已经有所发展或是发生改变。

package main
//感谢帮助的朋友
//QQ29295842   欢迎大家技术交流
import (
    "fmt"
    "io/ioutil"
    "net/http"
    "net/http/cookiejar"
    //    "os"
    "net/url"
    "time"
)

func main() {
    //Init jar
    j, _ := cookiejar.New(nil)
    // Create client
    client := &http.Client{Jar: j}
    // Create request
    req, err := http.NewRequest("GET", "http://zhanzhang.baidu.com", nil)
    // Fetch Request
    resp, err := client.Do(req)
    if err != nil {
        fmt.Println("Failure : ", err)
    }
    //开始修改缓存jar里面的值
    var clist []*http.Cookie
    clist = append(clist, &http.Cookie{
        Name:    "BDUSS",
        Domain:  ".baidu.com",
        Path:    "/",
        Value:   "cookie  值xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        Expires: time.Now().AddDate(1, 0, 0),
    })
    urlX, _ := url.Parse("http://zhanzhang.baidu.com")
    j.SetCookies(urlX, clist)

    fmt.Printf("Jar cookie : %v", j.Cookies(urlX))
    // Fetch Request
    resp, err = client.Do(req)
    if err != nil {
        fmt.Println("Failure : ", err)
    }

    // Read Response Body
    respBody, _ := ioutil.ReadAll(resp.Body)

    // Display Results
    fmt.Println("response Status : ", resp.Status)
    fmt.Println("response Headers : ", resp.Header)
    fmt.Println("response Body : ", string(respBody))
    fmt.Printf("response Cookies :%v", resp.Cookies())

}

a1.png


有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4057 次点击  
加入收藏 微博
1 回复  |  直到 2019-08-08 16:35:03
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传