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

  • Bennythecoder

    Bennythecode

    25 Mart 2008
  • FUzzyBUnnyBOoties

    FUzzyBUnnyBO

    3 EKİM 2007
  • Google Chrome

    Google Chrom

    1 EYLÜL 2008