gpt4 book ai didi

c# - 为什么 RestSharp 请求方法从 POST 更改为 GET?

转载 作者:太空宇宙 更新时间:2023-11-03 15:08:28 28 4
gpt4 key购买 nike

我正在使用 RestSharp 将一些数据发布到 url。我正在使用 fiddler 监视此操作。当我将 Simple .net HttpClient 与此代码一起使用时:

using (var client = new HttpClient())
{
var values = new Dictionary<string, string> {
{ "par1", "1395/11/29" },
{ "par2", "2" }};
var content = new FormUrlEncodedContent(values);
var response = await client.PostAsync("http://someurl.com/resource", content);
var responseString = await response.Content.ReadAsStringAsync();
}

一切都很好,这会返回真实的结果。但是当我尝试将 RestSharp 与此代码一起使用时:

 RestSharp.RestRequest request = new RestSharp.RestRequest("/resource");
request.AddParameter("par1", val, RestSharp.ParameterType.RequestBody);
request.AddParameter("par2", val, RestSharp.ParameterType.RequestBody);
request.AddHeader("Origin", "http://someurl.com");
request.Method = RestSharp.Method.POST;
RestSharp.RestClient client = new RestSharp.RestClient("http://someurl.com");
var response = client.Execute(request);

然后 fiddler 向我显示通过 GET 方法而不是 POST 发送的请求?

我又检查了一次我的 fiddler ,发现了这个问题:

Content-Type: par1

为什么我会这样?

最佳答案

将您的 ParameterType 参数更改为 GetOrPost 它将起作用

request.AddParameter("par1", val, RestSharp.ParameterType.GetOrPost);
request.AddParameter("par2", val, RestSharp.ParameterType.GetOrPost);

关于c# - 为什么 RestSharp 请求方法从 POST 更改为 GET?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42248537/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com