C# 如何从RESTAPI获得正确的响应?
我想向RESTAPI发送一个请求,得到响应并在表单上显示。API文档说,我应该在bearer中使用我的令牌来在header中进行授权。 我使用了RestSharp nugget,这是我编写的代码:C# 如何从RESTAPI获得正确的响应?,c#,json,rest,restsharp,rest-client,C#,Json,Rest,Restsharp,Rest Client,我想向RESTAPI发送一个请求,得到响应并在表单上显示。API文档说,我应该在bearer中使用我的令牌来在header中进行授权。 我使用了RestSharp nugget,这是我编写的代码: var client = new RestClient("https://api.payping.ir"); var request = new RestRequest("v1/product/List"); request.AddHeader("Au
var client = new RestClient("https://api.payping.ir");
var request = new RestRequest("v1/product/List");
request.AddHeader("Authorization", "Bearer <myToken>");
request.AddParameter("offset", 0);
request.AddParameter("limit", 10);
var response = client.Execute(request, Method.GET);
richTextBox2.Text = "Status:\n" + response.StatusCode + "\nContent:\n" + response.Content + "\nResponse:\n" + response.IsSuccessful;
var client=new RestClient(“https://api.payping.ir");
var请求=新的重新请求(“v1/产品/列表”);
请求。添加标题(“授权”、“持有人”);
请求.AddParameter(“偏移量”,0);
请求。添加参数(“限制”,10);
var response=client.Execute(请求,方法.GET);
richTextBox2.Text=“状态:\n”+response.StatusCode+”\n内容:\n”+response.Content+“\n响应:\n”+response.issessful;
但是我收到了一个错误的回复。此代码在表单上返回的最后一个字符串是:
地位:
0
内容:
答复:
假的
我犯了什么错?如何从RESTAPI获得正确的响应?
感谢您的关注试试:
request.AddParameter("Authorization", $"Bearer {myToken}", ParameterType.HttpHeader);
然后使用Fiddler检查发送的数据包,以验证是否发送了报头
下一步是服务器端;) 不确定这是否有区别,但请尝试使用
RestClient(“https://api.payping.ir/");代码>(最后一个斜杠)我试过了,得到了同样的结果。@Steve供以后参考,RestSharp不在乎后面的斜杠。他们那里有一个相当不错的包裹;)如果不知道服务器在做什么,我们绝对无法帮助您。据我们所知,它可能只返回您发布的值,而不管您发送的是什么。API文档是波斯语的:问题是我没有得到“任何”响应。这最多应该是一个注释。“addheader”方法与带有hypHeader参数类型的“addparameter”方法相同。但我尝试了这个代码,安装了fiddler并检查了包。在header选项卡中,我看到这样的文本:“CONNECT api.payping.ir:443 HTTP/1.1”,在Auth选项卡中,我看到这样的文本:“不存在代理授权标头。不存在授权标头。”我认为fiddler可能在检查标头时遇到问题,因为请求使用的是httpsI,完全同意AddHeader方法,这是AddParameter one的重载。我只是不确定您是否使用字符串插值正确插入了标记值。