【问题标题】:Make HTML request with this header使用此标头发出 HTML 请求
【发布时间】:2014-01-01 19:07:24
【问题描述】:

我的代码是:

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 发出 POST 请求或在 Windows Store 应用程序 C# 上运行任何东西?

【问题讨论】:

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


【解决方案1】:

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

httpClient.DefaultRequestHeaders.ExpectContinue = false;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-31
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    相关资源
    最近更新 更多