gpt4 book ai didi

http - http:ContentLength = 105,正文长度为0

转载 作者:行者123 更新时间:2023-12-01 22:35:38 25 4
gpt4 key购买 nike

我正在尝试通过http请求从es获取数据,但是在传递rquest正文之后,出现此错误:

http:紧急服务127.0.0.1:13995:获取
“http://127.0.0.1:9200/demo/_search”:http:ContentLength = 105
体长0
ab -c 100 -n 3000 http://127.0.0.1:9090/q

var (
url = "http://127.0.0.1:9200/demo/_search"
payload = `{"_source":false,"query":{"bool":{"filter":[{"term":{"hello":"world"}}]}},"sort":[],"from":0,"size":10}`
)

func main() {
http.HandleFunc("/q", func(w http.ResponseWriter, r *http.Request) {
_, _ = w.Write(doQuery(url, payload))
})
log.Fatal(http.ListenAndServe(":9090", nil))
}

func doQuery(url, payload string) (result []byte) {
request, err := http.NewRequest(http.MethodGet, url, strings.NewReader(payload))
if err != nil {
panic(err)
}
request.Header.Add("Content-Type", "application/json")
request.Header.Add("Connection", "close")

client := &http.Client{}
response, err := client.Do(request)
if err != nil {
panic(err)
}
defer response.Body.Close()
result, _ = ioutil.ReadAll(response.Body)
return result
}
我尝试了两种方法,并且有效:
  • 删除请求正文。
  • client.Do()周围添加互斥锁

  • 如何在没有互斥锁的情况下解决此问题?

    最佳答案

    request, err := http.NewRequest(http.MethodGet, url, strings.NewReader(payload))

    您正在尝试使用非零的正文来执行GET请求。 GET请求不应具有主体。如果您需要发送正文,请使用POST请求。

    关于http - http:ContentLength = 105,正文长度为0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63565012/

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