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

  • backyardjay

    backyardjay

    8 ŞUBAT 2009
  • Elefant Traks

    Elefant Trak

    5 HAZİRAN 2007
  • Facebook Developers

    Facebook Dev

    24 ŞUBAT 2009