【问题标题】:How to use RestRequest/RestResponse when the web service produces multipart form data in C#?当 Web 服务在 C# 中生成多部分表单数据时,如何使用 RestRequest/RestResponse?
【发布时间】:2014-04-29 19:21:52
【问题描述】:

我在 RESTful Web 服务器 (java) 中有一个 Web 服务,它使用 APPLICATION_FORM_URLENCODED 类型的媒体并生成 MULTIPART_FORM_DATA 类型的媒体。现在我正在开发一个 REST 客户端 (C#) 并尝试使用这个 Web 服务。我使用 RestSharp 作为 REST 客户端。我的代码如下:

RestRequest request = new RestRequest("getDataFileChunkIS", Method.POST);
request.AddParameter("sessionId", sessionId);
request.AddParameter("dataFileId", dataFileId);            
request.AddParameter("offset", offset);
request.AddParameter("chunkSize", chunkSize);
request.AddParameter("checksumFlag", checksumFlag);

RestClient client = new RestClient(url);    
RestResponse response = (RestResponse)client.Execute(request);

但在此响应中,我收到 HTTP 状态 406 - 不可接受。它说“此请求标识的资源只能生成具有根据请求“接受”标头不可接受的特征的响应。”也许我做错了。所以我的问题是,我该如何执行这个响应将包含 MULTIPART_FORM_DATA 的请求?

【问题讨论】:

    标签: c# .net restsharp


    【解决方案1】:

    1) 我如何执行这个请求,它的响应将包含 MULTIPART_FORM_DATA?

    request.AddHeader("Accept", "multipart/form-data")
    

    2) 如何使用 RestClient 读取此响应标头(包含 JSON)?

    查看this question 的答案。特别是第三个,它展示了如何仅使用 .NET 4.5 库来做到这一点。

    您可能需要实现 IDeserializer 才能访问原始 HttpResponse 以供消费。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-06
      • 1970-01-01
      • 2013-03-22
      • 2020-05-17
      相关资源
      最近更新 更多