.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
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.
Nasıl XML KALAN bir yöntem, özel bir H...
Güncelleme ve silme için HTTP durum ko...
'uygun HTTP durum kodu, bir DİNLE...
Ne HTTP durum kodu tepki eğer bu isteğ...
HTTP durum kodu 200 (önbellek) vs duru...