Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该如何为多部分响应指定HTTP accept标头?_Http_Http Headers - Fatal编程技术网

我应该如何为多部分响应指定HTTP accept标头?

我应该如何为多部分响应指定HTTP accept标头?,http,http-headers,Http,Http Headers,我希望与HTTP端点通信,对于它的多部分响应,我希望第1部分或引用的内容处置文件名是JSON,第2部分是XML,这样做的正确方式是什么 我可以同时包含JSON和XML,但这并不能说明我希望每个部分都有不同的格式 编辑: 假设我有一个服务,现在它返回的内容是: Content-Type: multipart/mixed; boundary=--37adc569155a4943b203e28a422cb96f Content-Length: ... ----37adc569155a4943b203

我希望与HTTP端点通信,对于它的多部分响应,我希望第1部分或引用的内容处置文件名是JSON,第2部分是XML,这样做的正确方式是什么

我可以同时包含JSON和XML,但这并不能说明我希望每个部分都有不同的格式

编辑: 假设我有一个服务,现在它返回的内容是:

Content-Type: multipart/mixed; boundary=--37adc569155a4943b203e28a422cb96f
Content-Length: ...

----37adc569155a4943b203e28a422cb96f
Content-Type: application/xml; charset=utf-8
Content-Disposition: result

<Result>
    ...
</Result>

----37adc569155a4943b203e28a422cb96f
Content-Type: application/json; charset=utf-8
Content-Disposition: state

{ "Score": 42, ... }

----37adc569155a4943b203e28a422cb96f--
我可以,并且希望支持以不同的格式将数据传回,例如,使用协议缓冲区将状态发送回,或者使用JSON作为结果


我认为正确的方法是通过HTTPAccept头,但是我如何与服务通信,我想要JSON中的状态并生成协议缓冲区?如果Accept头不是解决方法,那么我应该使用什么来代替呢?

我认为您要做的事情并不是由任何RFC和使用自定义头字段的调用定义的。我想添加如下标题

X-Foo-Accept-State: application/json; charset=utf-8
X-Foo-Accept-Result: application/xml; charset=utf-8

其中Foo是您的公司名称。有关命名自定义头字段的最佳方法的参数,请参见别处。

您的意思是从服务器返回MIME多部分容器,并在端点处对其进行解析吗?你控制两端吗?是的,我控制两端,但我的客户机并不是唯一一个使用服务的人,我想让调用者能够灵活地选择数据返回的格式。我用一个例子更新了这个问题。你考虑过用户代理吗?它旨在定义客户机的功能,这正是您在这里寻找的。