SORU
21 Mayıs 2012, PAZARTESİ


Nasıl HttpClient bir istek için İçerik-Type Başlığı ayarlamak mı?

Arıyorum bir API gereği HttpClient nesne Content-Type Başlığı ayarlamak için çalışıyorum.

Content-Type ayardan gibi çalıştım:

using (var httpClient = new HttpClient())
{
    httpClient.BaseAddress = new Uri("http://example.com/");
    httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
    httpClient.DefaultRequestHeaders.Add("Content-Type", "application/json");
    // ...
}

Beni Accept başlık eklemek için izin verir ama Content-Type eklemek çalıştığınızda aşağıdaki özel durum atar:

Başlık ismi yanlış. Yapmak isteği başlıkları ile kullanılır emin HttpRequestMessage, HttpResponseMessage ile yanıt başlıkları ve HttpContent nesneleri ile içerik başlıkları.

Nasıl HttpClient istek Content-Type Başlığı ayarlayabilirim?

CEVAP
21 Mayıs 2012, PAZARTESİ


İçerik türü bu başarısız neden olan istek, içerik, olmayan bir başlık. Robert Levy tarafından önerilen AddWithoutValidation iş olabilir, ama aynı zamanda kendisini isteği içerik oluştururken içerik türü için kullanabilirsiniz:

HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://example.com/");
client.DefaultRequestHeaders
      .Accept
      .Add(new MediaTypeWithQualityHeaderValue("application/json"));

HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "relativeAddress");
request.Content = new StringContent("{\"name\":\"John Doe\",\"age\":33}",
                                    Encoding.UTF8, 
                                    "application/json");

client.SendAsync(request)
      .ContinueWith(responseTask =>
      {
          Console.WriteLine("Response: {0}", responseTask.Result);
      });

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GFX Tutorials

    GFX Tutorial

    12 AĞUSTOS 2013
  • Miles Fisher

    Miles Fisher

    8 NİSAN 2009
  • MyTiredBones

    MyTiredBones

    2 Temmuz 2013