gpt4 book ai didi

go - 登录请求后的 POST 请求,仍然请求权限

转载 作者:数据小太阳 更新时间:2023-10-29 03:31:34 30 4
gpt4 key购买 nike

我正在尝试向指定的 URL(网页)发送两个 PostForm 请求,其中一个是“登录”,另一个是“创建产品”。问题是第二个请求(创建产品)与第一个请求(登录)分开运行。这就是为什么虽然登录成功,但服务器给我发送权限错误(“您必须先登录才能创建产品。”)

我以为是并发的缘故,所以我也用了channels,甚至还有time package,但是都没用。有解决办法吗?

func login(c chan string) {
resp, _ := http.PostForm("http://example.com/login",
url.Values{"username": {"sth"}, "password": {"sth"}})
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
time.Sleep(5000 * time.Millisecond)
fmt.Printf("%v", string(body), "\n")
c <- string(body)
}

func CreateProduct() {
resp, _ := http.PostForm("http://example.com/product",
url.Values{"name": {"sth"}})
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Printf("%v", string(body), "\n")
}

func main() {
c := make(chan string)
go login(c)
str := <-c
if str != "" {
CreateProduct()
}
}

最佳答案

您不需要或不想要此 channel 。

您需要发送 cookie 或授权 header 。检查您尝试使用的服务的文档说 sbout 身份验证。

如果您指定人们可能能够提供更多帮助的服务,但作为一般准则 - 如果是 api,它可能需要一个 token ,如果是网页,它可能需要一个 cookie,但请注意,您可能还需要四处走动在这种情况下的 csrf 保护。

关于go - 登录请求后的 POST 请求,仍然请求权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51900682/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com