package main //51cto自动领豆 import ( "github.com/crufter/goquery" "fmt" "math/rand" "net/http/cookiejar" "net/http" "net/url" "io/ioutil" "strconv" ) //用户名和密码 const ( NAME = "username" PWD = "password" ) func main() { //设置cookie cookieJar,_ := cookiejar.New(nil) client := &http.Client{ Jar:cookieJar, } //获取CSRF隐藏字段 req , _ := http.NewRequest("GET","http://home.51cto.com/index",nil) req.Header.Set("User-Agent","'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1") req.Header.Set("Referer","http://home.51cto.com/index") req.Header.Set("Connection","[keep-alive]") res ,_ := client.Do(req) doc ,_ := goquery.Parse(res.Body) csrf := doc.Find("input").Val() //构造登陆认证数据 val := url.Values{} val.Set("LoginForm[username]",NAME) val.Set("LoginForm[password]",PWD) val.Set("_csrf",csrf) val.Set("LoginForm[rememberMe]","0") //登陆获取cookie client.PostForm("http://home.51cto.com/index",val) //构造领豆数据 val_down := url.Values{} val_down.Set("do","getfreecredits") random_num := strconv.Itoa(rand.Float64()) val_down.Set("t",random_num) //领豆 res_my ,_ := client.PostForm("http://down.51cto.com/download.php",val_down) body1 ,_ := ioutil.ReadAll(res_my.Body) fmt.Println(string(body1)) //领取无忧币 client.Get("https://blog.51cto.com/appApi/sign/sign") }