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

  • cekehechu

    cekehechu

    20 HAZİRAN 2006
  • DancingIsAPassion

    DancingIsAPa

    29 AĞUSTOS 2009
  • jkimisyellow...ish

    jkimisyellow

    8 Temmuz 2009