在C#中,要设置HttpWebRequest的超时,您需要设置两个属性:Timeout
和 ReadTimeout
。这两个属性分别表示连接超时和读取数据超时。以下是如何设置这些属性的示例:
using System;
using System.Net;
using System.IO;
class Program
{
static void Main()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://example.com");
// 设置连接超时(单位:毫秒)
request.Timeout = 5000; // 5秒
// 设置读取数据超时(单位:毫秒)
request.ReadTimeout = 5000; // 5秒
try
{
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
string content = reader.ReadToEnd();
Console.WriteLine(content);
}
}
}
catch (WebException ex)
{
Console.WriteLine("请求超时或发生错误: " + ex.Message);
}
}
}
在这个示例中,我们将连接超时和读取数据超时都设置为5秒。如果请求在这段时间内没有完成,将会引发一个WebException异常。