C# Yahoo profile API通过RestSharp发送JSONP结果
当我使用带有xml值的参数格式调用Yahoo用户配置文件API时,我遇到了一个奇怪的问题Yahoo正在发送JSONP(JSON包含括号C# Yahoo profile API通过RestSharp发送JSONP结果,c#,restsharp,yahoo-api,C#,Restsharp,Yahoo Api,当我使用带有xml值的参数格式调用Yahoo用户配置文件API时,我遇到了一个奇怪的问题Yahoo正在发送JSONP(JSON包含括号();)结果,但当我发送此请求时,尽管Google chrome的邮递员插件Yahoo API正在发送xml结果 空气污染指数为: {guid}/配置文件 文件: 我的代码 public string RestApiInvoke(string url, TRANSPORT_METHOD method, Dictionary<string, string&g
();
)结果,但当我发送此请求时,尽管Google chrome的邮递员插件Yahoo API正在发送xml结果
空气污染指数为:
{guid}/配置文件
文件:
我的代码
public string RestApiInvoke(string url, TRANSPORT_METHOD method, Dictionary<string, string> data, Dictionary<string, string> headers)
{
var client = new RestClient(url);
RestRequest request;
if (method == TRANSPORT_METHOD.POST)
{
request = new RestRequest(Method.POST);
}
else
{
request = new RestRequest(Method.GET);
}
if (data.IsNotNullOrEmpty())
{
foreach (var item in data)
{
request.AddParameter(item.Key, item.Value);
}
}
if (headers.IsNotNullOrEmpty())
{
foreach (var item in headers)
{
request.AddHeader(item.Key, item.Value);
}
}
IRestResponse response = client.Execute(request);
return response.Content;
}
publicstringrestapiinvoke(字符串url、传输方法、字典数据、字典头)
{
var client=新的RestClient(url);
重新请求请求;
if(method==TRANSPORT\u method.POST)
{
请求=新的重新请求(方法POST);
}
其他的
{
请求=新的重新请求(Method.GET);
}
if(data.IsNotNullOrEmpty())
{
foreach(数据中的var项)
{
request.AddParameter(item.Key,item.Value);
}
}
if(headers.IsNotNullOrEmpty())
{
foreach(标题中的变量项)
{
request.AddHeader(item.Key,item.Value);
}
}
IRestResponse response=client.Execute(请求);
返回响应。内容;
}
我得到了答案,只设置了Accept
标题text/xml
,实际上RestSharp使用了类似于application/json text/html text/xml
的Accept,所以Yahoo选择第一个并发送JSONP结果。我已经使用以下代码手动设置了它
headers.Add("Accept", "text/xml");