Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.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
C# 如何从RESTAPI获得正确的响应?_C#_Json_Rest_Restsharp_Rest Client - Fatal编程技术网

C# 如何从RESTAPI获得正确的响应?

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

我想向RESTAPI发送一个请求,得到响应并在表单上显示。API文档说,我应该在bearer中使用我的令牌来在header中进行授权。 我使用了RestSharp nugget,这是我编写的代码:

        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的重载。我只是不确定您是否使用字符串插值正确插入了标记值。