【发布时间】:2017-02-15 11:47:41
【问题描述】:
我正在使用 RestSharp 将一些数据发布到 url。我正在使用提琴手监视此操作。当我在此代码中使用 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 发送的请求?
我再次检查了我的提琴手,发现了这个问题:
内容类型:par1
为什么这会发生在我身上?
【问题讨论】:
-
这是一个愚蠢的错误。我使用的是“http”而不是“https”,这没有在远程主机中处理。 :)
标签: c# restsharp dotnet-httpclient