我有以下代码将发布数据发送到服务器,但服务器未检测到请求中的任何发布数据。客户端代码:cookieJar, _ := cookiejar.New(nil) client := &http.Client{ Jar: cookieJar, } postUrl := os.Args[1] username := os.Args[2] password := os.Args[3] data := url.Values{} data.Set("username", username) data.Add("password", password) data.Add("remember", "false") r, _ := http.NewRequest("POST", postUrl, bytes.NewBufferString(data.Encode())) resp, _ := client.Do(r) defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) fmt.Printf("%s\n", string(body))服务器代码:if(isset($_POST['username'], $_POST['password'], $_POST['remember'])){ echo $username = md5(($_POST['username'])); echo $password_original = $_POST['password']; echo $password = md5(($_POST['password'])); echo $remember = $_POST['remember'];}
1 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
您将数据作为没有内容类型的请求正文中的表单发布。您要么需要将值放入请求查询中:
r.URL.RawQuery = data.Encode()
或将 Content-Type 更改为“application/x-www-form-urlencoded”:
r.Header.Add("Content-Type", "application/x-www-form-urlencoded")
- 1 回答
- 0 关注
- 231 浏览
添加回答
举报
0/150
提交
取消