SORU
28 Mart 2009, CUMARTESİ


.Net HttpWebRequest.() GetResponse http durum kodu 400 (hatalı istek) geri döndüğünde, özel durum oluşturur

Ben bu durumda olduğum zaman bir HTTP 400 kod sunucu, tamamen yasal bir şekilde sunucu bana nesi vardı benim istek (kullanarak mesaj içinde HTTP yanıt içerik)

Ancak .NET HttpWebRequest durum kodu 400 olduğunda, bir özel durum oluşturur.

Bunu nasıl yapabilirim? Benim için 400 tamamen yasal ve oldukça yararlıdır. HTTP içerik bazı önemli bilgiler var ama bu durum benim yolum beni işten atar.

CEVAP
28 Mart 2009, CUMARTESİ


Eğer "non-başarı eğer WebException yakalarsan" ama en azından tepki kullanabilirsiniz: * kod atmak üzerine kapatarak bir yolu olsaydı güzel olurdu

using System;
using System.IO;
using System.Web;
using System.Net;

public class Test
{
    static void Main()
    {
        WebRequest request = WebRequest.Create("http://csharpindepth.com/asd");
        try
        {
            using (WebResponse response = request.GetResponse())
            {
                Console.WriteLine("Won't get here");
            }
        }
        catch (WebException e)
        {
            using (WebResponse response = e.Response)
            {
                HttpWebResponse httpResponse = (HttpWebResponse) response;
                Console.WriteLine("Error code: {0}", httpResponse.StatusCode);
                using (Stream data = response.GetResponseStream())
                using (var reader = new StreamReader(data))
                {
                    string text = reader.ReadToEnd();
                    Console.WriteLine(text);
                }
            }
        }
    }
}

Eğer kodu "ayrı bir yöntem bit. başarılı olsaydı bile" bana bir yanıt almak saklamak istersin diye (Hala varsa Eğer bağlanmak olamaz eğer bir tepki, örneğin değil eğer yok atmak öneririm.)

Eğer hata yanıtı büyük sıradışı olan) olabilir HttpWebRequest.DefaultMaximumErrorResponseLength tüm hata aldığınızdan emin olmak için oynamak isteyebilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chaoticmoogle

    Chaoticmoogl

    13 ŞUBAT 2006
  • GoldgenieOfficial

    GoldgenieOff

    23 Temmuz 2009
  • Influencer Plus

    Influencer P

    2 Ocak 2013