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

  • Attempts at least

    Attempts at

    1 Ocak 2007
  • RinconDynamic

    RinconDynami

    1 EKİM 2011
  • ShayLoss

    ShayLoss

    5 Kasım 2009