【发布时间】:2018-06-19 14:44:46
【问题描述】:
我有一个 API GET 调用在邮递员中有效,但在 VS2017 中无效。我复制了代码 来自邮递员:
var client = new RestClient("http://server- d01:9000/amp/portal/api/dougtest/v1");
var request = new RestRequest(Method.GET);
request.AddHeader("Postman-Token", "19763da3-4b00-4e92-83e0-1ac75f99d219");
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("X-XSRF-TOKEN", "71cf12361-8090-499a-adc3-2d5e98a04143");
request.AddParameter("undefined", "{\n \"username\":\"domain\\\\username\",\n \"password\":\"myPasswd\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
我得到的错误是未经授权的,API 需要 X-XSRF-TOKEN 的标头,其值为 71cf12361-8090-499a-adc3-2d5e98a04143(假密钥)
使用邮递员,一切正常,但使用 VS2017 时出现错误:
{"status":"unauthorized","error":"Login is required","errormsg":null}
奇怪的是(我是新手,请原谅我的无知)是标题不包含:
request.AddHeader("X-XSRF-TOKEN", "71cf12361-8090-499a-adc3-2d5e98a04143");
但参数确实如此,这令人困惑,因为我认为AddHeader 会将它添加到标题中,但也许我误解了一些东西......
非常欢迎任何意见/建议
提前谢谢你
道格
【问题讨论】:
-
可以分享一下你在 Postman 中添加的 Header 吗?
-
X-XSRF-TOKEN value of: "c99dc1d1-a8c5-44bf-8174-9ecac2809953 我从 post call 中获取值并通过 postman 验证令牌/密钥是有效的
标签: authentication get restsharp