作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
创建 http 请求的字节数组,然后尝试将其读入 http.request 时,当请求包含正文时,似乎不起作用。
req, _ := http.NewRequest(http.MethodPost, "/Bar", strings.NewReader("Foo"))
rReq, _ := httputil.DumpRequest(req, true)
req2, _ := http.ReadRequest(bufio.NewReader(bytes.NewReader(rReq)))
b, _ := ioutil.ReadAll(req2.Body)
fmt.Println(b)
b 是一个空数组。
最佳答案
您的代码中有两处错误:
您必须处理错误。这会帮助您看到您从未构造过有效请求(“/Bar”不是有效 URL)。
使用 httputil.DumpRequestOut
进行传出请求。
要点:始终处理所有错误并始终阅读整个整个包文档。
关于Golang - DumpRequest() 没有为 ReadRequest() 创建正确的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42805424/
创建 http 请求的字节数组,然后尝试将其读入 http.request 时,当请求包含正文时,似乎不起作用。 req, _ := http.NewRequest(http.MethodPost,
方法 http.ReadRequest 采用 bufio.Reader 而不是 io.Reader。这背后的原因是什么? 最佳答案 无论如何它都会使用缓冲读取器。但由于 bufio.Reader 的性
我是一名优秀的程序员,十分优秀!