C# 不使用GetResponse()快速测试URL

C# 不使用GetResponse()快速测试URL,c#,.net,url,C#,.net,Url,在C#中,我需要快速测试URL,而不必等待完整的响应。如果有响应或其他快速测试URL的方法,是否有方法退出 我正在从一个网站检索大量数据,只需要确保它事先存在 这就是我现在拥有的: HttpWebRequest request = (HttpWebRequest)WebRequest.Create(arg.Sources[i]); try { request.GetResponse(); } catch (Exception ex) {

在C#中,我需要快速测试URL,而不必等待完整的响应。如果有响应或其他快速测试URL的方法,是否有方法退出

我正在从一个网站检索大量数据,只需要确保它事先存在

这就是我现在拥有的:

 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(arg.Sources[i]);
 try
 {
  request.GetResponse();
 }
 catch (Exception ex)
 {                            
      CMD("HTML Connection Fail");
      return false;
 }
 CMD("Connection Successful");
等待回复需要很长时间,所以有什么可以替代的吗

那么,是否有其他方法可以在不等待服务器完全响应的情况下测试URL连接


如果您不希望浏览器可能崩溃,请将网站的returnall更改为false:“www.odata.charities.govt.nz/grporgaltestreturns?$filter=RegistrationStatus%20eq%20%27 registered%27&$returnall=true&$format=csv%22”

您可以对请求使用该方法,该方法立即返回,而不会阻塞调用线程。您需要提供一个回调函数,一旦客户机从服务器接收到一些响应,就会调用该函数。当然,这个回调将在不同的线程上调用,而不是在实际调用BeginGetResponse方法之后。在这个回调中,您可以放入tr/catch语句,并在需要时解析来自服务器的实际响应。

您可以对请求使用该方法,该方法立即返回,而不会阻塞调用线程。您需要提供一个回调函数,一旦客户机从服务器接收到一些响应,就会调用该函数。当然,这个回调将在不同的线程上调用,而不是在实际调用BeginGetResponse方法之后。在这个回调中,您可以放入tr/catch语句,并在需要时解析来自服务器的实际响应。

如果不需要接收内容并且需要验证URL的正确性,您可以使用
request.Method=“HEAD”
。但是,这可能不适用于某些服务器。

如果您不需要接收内容并且需要验证URL的正确性,则可以使用
request.Method=“HEAD”
。但是,某些服务器可能无法使用此方法。

请尝试将此方法更改为
HEAD
。服务器应该只返回没有正文的标题,因此应该快速返回

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(arg.Sources[i]);
try
{
    request.Method = "HEAD";
    request.GetResponse();
}
catch (Exception ex)
{                            
    CMD("HTML Connection Fail");
    return false;
}
CMD("Connection Successful");

尝试将方法更改为
HEAD
。服务器应该只返回没有正文的标题,因此应该快速返回

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(arg.Sources[i]);
try
{
    request.Method = "HEAD";
    request.GetResponse();
}
catch (Exception ex)
{                            
    CMD("HTML Connection Fail");
    return false;
}
CMD("Connection Successful");

ping URL对您来说是一个解决方案吗?查看Ping类:


ping URL对您来说是一个解决方案吗?查看Ping类:


我不断收到“501未实现”错误。站点的头部为“”,表示其为空。这是导致错误的原因吗?我一直收到“501未实现”错误。站点的标题为“”,表示其为空,这是导致错误的原因?Ping告诉我以下网站不存在,而trust me id不存在:“”Ping告诉我以下网站不存在,而trust me id不存在:“”