Http 在wreq中发送数据(非表单)

Http 在wreq中发送数据(非表单),http,haskell,Http,Haskell,给出表格的curl请求: curl --header "Content-Type: text/xml;charset=UTF-8" --data @somefile.xml http://httpbin.org/post 我们怎样才能做到这一点?我通过echo确认数据是作为“数据”发送的,下面是来自httpbinpost-echo的片段: { "args": {}, "data": "<file-contents here sent by curl --data optio

给出表格的
curl
请求:

curl --header "Content-Type: text/xml;charset=UTF-8" --data @somefile.xml http://httpbin.org/post
我们怎样才能做到这一点?我通过echo确认数据是作为“数据”发送的,下面是来自
httpbin
post-echo的片段:

  {
  "args": {}, 
  "data": "<file-contents here sent by curl --data option>", 
  "files": {}, 
  "form": {}, 
  "headers": {...
  ...},
  "json": null, 
  "origin": "some_ip", 
  "url": "http://httpbin.org/post"
  }
{
“args”:{},
“数据”:“,
“文件”:{},
“形式”:{},
“标题”:{。。。
...},
“json”:null,
“来源”:“一些知识产权”,
“url”:”http://httpbin.org/post"
}

因此,基本上,假设文件中的数据是
文本
字符串
,我们如何在
wreq
中使其
可邮寄
,而不使用
表单
多部分
(除非curl的
数据
选项只是
表单
多部分
变相发布)?我正在翻阅
wreq
文档,但还没有找到任何相关信息。我将非常感谢关于如何做到这一点的指点。如本教程所示,在
wreq
中设置
headers
和其他内容非常简单。

虽然
wreq
haddock只处理
Postable
的一些实例,但实际上也有
Postable
用于普通的惰性和严格的ByTestRing,这些应该可以让您直接流式传输原始数据。

您是否尝试过直接使用
ByteString
调用
post
?@sclv,是的。我发现
Postable
类实例记录在
Network.Wreq.Types
下,但仅在hackage上的旧版本中。这就是为什么在最新文档中搜索
Postable
实例时,我没有发现任何实例:(@sclv,您可以将其作为答案发布,并链接到相关的
Postable
实例文档(即使是旧的)。下面是指向实际github源代码的链接,其中包含
Postable
实例的定义: