如何使用rest-Sharp传递xAPikey

2024-06-16 16:47:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在Rest sharp中发送api key作为头,这是我正在尝试的

我得到{"status":403,"message":"Forbidden"}

public static IRestResponse CreateNewUser(string enviroment, string email, string password)
        {
            NameValueCollection Env = ValidateEnv(enviroment);
            string baseurlenv = Env["baseApiURL"];
            var enviroments = new EndPointProviders();
            var Client = new RestClient();
            Client.BaseUrl = new Uri(baseurlenv);
            var request = new RestRequest(Method.POST);
            request.Resource = string.Format("/v3/members/email={0}&password={1}&terms_and_conditions=true", email, password);
            request.AddHeader("x-api-key", "yxyxyxyx");
            request.AddHeader("content-type", "application/x-www-form-urlencoded");
            IRestResponse response = Client.Execute(request);
            Console.WriteLine(request);
            if (!IsReturnedStatusCodeOK(response))
            {
                throw new HttpRequestException("Request issue -> HTTP code:" + response.StatusCode);
            }
            return response;

        }

我设法在Python中得到了同样的请求,这很好,我怎么能在Rest-sharp中做同样的事情呢?在

^{pr2}$

Tags: keyenvclientrestapinewstringemail
2条回答

如果在查询参数中发送数据,则此处有一个错误:

request.Resource = string.Format("/v3/members/email={0}&password={1}&terms_and_conditions=true", email, password);

应该是

request.Resource = string.Format("/v3/members?email={0}&password={1}&terms_and_conditions=true", email, password);

当我读python的时候请求.post单据数据是正文而不是查询。所以你需要创造

request.AddBody(new { A = "foo", B = "bar" })

同样,这个psot也有帮助

urlencoded

看起来你的C中有一个已经指向你的错误,但它必须是members?email而不是{}如果你在处理AWS Api网关,后者将注册为一个完全不同的端点,这可能会导致各种奇怪的状态码被抛出到你身上,403在这种情况下是可以接受的。在

接下来,我将使用以下方法,而不是像您一样向url添加参数:

request.AddParameter(string name, string value);

你上面写的一个例子是

^{pr2}$

相关问题 更多 >