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

  • Helen Bradley

    Helen Bradle

    4 Mart 2008
  • PC Learning Zone - Computer Training

    PC Learning

    8 EYLÜL 2006
  • TouchePro

    TouchePro

    27 EYLÜL 2007