使用此标头发出HTML请求

时间:2014-01-01 19:07:24

标签: post windows-store-apps dotnet-httpclient

enter image description here

我的代码是:

var client = new HttpClient { BaseAddress = new Uri("http://bf4stats.com") };
        client.DefaultRequestHeaders.Add("Referer", ":http://bf4stats.com/pc/Azezeil");
        client.DefaultRequestHeaders.Add("X-Requested-With", ": XMLHttpRequest");
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        HttpResponseMessage response = client.PostAsync("/pc/Azezeil", new StringContent("{" + "\"" + "request" + "\"" + ":" + "\"" + "updatePlayer" + "\"" + "}", Encoding.UTF8, "application/json")).Result;
        string res = await response.Content.ReadAsStringAsync();

回应失败417。 如何使用HttpClient或任何东西在Windows应用商店应用程序C#上发出POST请求?

1 个答案:

答案 0 :(得分:1)

错误417是“期望失败”。这是因为,当您执行POST时,默认情况下HttpClient将发送Expect Continue标头并等待100响应,然后再继续POST。要禁用此行为,您可以执行

httpClient.DefaultRequestHeaders.ExpectContinue = false;