- http的Header设置,按照官网或者大部分文章的设置来就可以,如下:
client := &http.Client{Transport: nil} req, err := http.NewRequest("POST", post_login_info_url, strings.NewReader(string(info))) if err != nil { panic(err) } //header req.Header.Set("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36") req.Header.Set("Content-Type", "application/json;charset=UTF-8")
- golang的http form data数据设置,golang.com官网的例子和网上大部分的文章使用url.Values最后提交的时候数据不能到达后台。 最后实在没办法,通过http client的transparent结合charles抓包,仔细对比网页直接请求和 go 请求的差异才把问题解决。 请求的form表单数据是一段json数据,而url.Values不行
- 错误的情况
postValues := url.Values{} postValues.Add("expire", "7") postValues.Add("referer", "http%3A%2F%2Fwww.jikexueyuan.com%2F") postValues.Add("uname", username) postValues.Add("password", password) postValues.Add("verify", verify_code) req, err := http.NewRequest("POST", post_login_info_url, strings.NewReader(postValue.Encode()))
- 正确的姿势
loginInfo := LoginInfo{ Username: username, Password: password, LoginYzm: "", } info, err := json.Marshal(loginInfo) req, err := http.NewRequest("POST", post_login_info_url, strings.NewReader(string(info)))
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Git 免用户名密码访问代码库
- Sqlmap初体验,渗透拿到网站用户名密码
- 正则表达式验证用户名、密码、手机号码、身份证(推荐)
- spring-security 实现用户名密码/图片验证码验证和记住我以及登录次数判断功能
- 如果修改 git 已提交的用户邮箱和用户名
- 用户名(昵称)XSS浅析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
HEX HSV 转换工具
HEX HSV 互换工具
HSV CMYK 转换工具
HSV CMYK互换工具