http.newRequest 不发送发布数据

我有以下代码将发布数据发送到服务器,但服务器未检测到请求中的任何发布数据。客户端代码:


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'];

}


慕村9548890
浏览 232回答 1
1回答

慕码人8056858

您将数据作为没有内容类型的请求正文中的表单发布。您要么需要将值放入请求查询中:r.URL.RawQuery = data.Encode()或将 Content-Type 更改为“application/x-www-form-urlencoded”:r.Header.Add("Content-Type", "application/x-www-form-urlencoded")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go