【发布时间】:2013-07-22 19:27:19
【问题描述】:
我正在为 RSS 阅读服务构建客户端。我正在使用 RestSharp 库与他们的 API 进行交互。
API 声明:
创建或更新记录时,您必须将
application/json;charset=utf-8设置为Content-Type标头。
这是我的代码的样子:
RestRequest request = new RestRequest("/v2/starred_entries.json", Method.POST);
request.AddHeader("Content-Type", "application/json; charset=utf-8");
request.RequestFormat = DataFormat.Json;
request.AddParameter("starred_entries", id);
//Pass the request to the RestSharp client
Messagebox.Show(rest.ExecuteAsPost(request, "POST").Content);
但是;服务返回错误
错误 415:请使用 'Content-Type: application/json; charset=utf-8' 标题
为什么 RestSharp 不传递标头?
【问题讨论】:
-
我不熟悉 RestSharp,但我会使用 Fiddler 检查请求以确定 RestSharp 传递的内容。可能是已经添加了 Content-Type 标头,您需要替换或删除/添加它。我会假设
request.RequestFormat = DataFormat.Json正在为您设置 Content-Type 标头。 -
我已经在没有那条线的情况下尝试过。唯一的选择是 JSON 或 XML。
-
请发布请求在 Fiddler 中的外观,这将说明是否添加了 Content-Type 以及添加了什么内容类型,而这只是猜测。
-
完成。似乎没有添加标题。见:pastebin.com/B0MjHrgD
-
查看下面 CodeCaster 的回答,以及我的 cmets 关于名称/值参数类型的问题
标签: c# http-headers restsharp