c# httpwebrequest如何處理錯(cuò)誤

c#
小樊
81
2024-11-16 20:44:52

在C#中,使用HttpWebRequest處理錯(cuò)誤的方法如下:

  1. 異常處理:使用try-catch語(yǔ)句捕獲可能發(fā)生的異常,例如WebException。
using System;
using System.IO;
using System.Net;
using System.Text;

class Program
{
    static void Main()
    {
        try
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.example.com/data");
            request.Method = "GET";
            request.ContentType = "application/json";

            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {
                if (response.StatusCode != HttpStatusCode.OK)
                {
                    Console.WriteLine("Error: " + response.StatusCode);
                }
                else
                {
                    using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
                    {
                        string content = reader.ReadToEnd();
                        Console.WriteLine(content);
                    }
                }
            }
        }
        catch (WebException ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            if (ex.Status == WebExceptionStatus.Timeout)
            {
                Console.WriteLine("The request timed out.");
            }
            else if (ex.Status == WebExceptionStatus.NameResolutionFailure)
            {
                Console.WriteLine("The remote name could not be resolved.");
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
        }
    }
}
  1. 檢查HTTP狀態(tài)碼:在處理響應(yīng)之前,檢查HTTP狀態(tài)碼以確定請(qǐng)求是否成功。
if (response.StatusCode != HttpStatusCode.OK)
{
    Console.WriteLine("Error: " + response.StatusCode);
}
else
{
    // 處理成功的響應(yīng)
}
  1. 讀取響應(yīng)內(nèi)容:如果請(qǐng)求成功,使用StreamReader讀取響應(yīng)內(nèi)容并進(jìn)行處理。
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
    string content = reader.ReadToEnd();
    Console.WriteLine(content);
}
  1. 處理異常:在catch塊中處理可能發(fā)生的異常,例如WebException和其他通用異常。

通過(guò)以上方法,您可以在C#中使用HttpWebRequest處理錯(cuò)誤。

0