我正在尝试使用请求 - 响应技术验证C#中特定站点中的所有链接。我注意到没有链接返回“OK”。我把注意力集中在这个问题上。该站点需要身份验证。知道了这一点,我该怎么办呢????
这是我的代码示例:
WebRequest objWebRequest;
HttpWebResponse objHttpResponse;
try
{
objWebRequest = (HttpWebRequest)WebRequest.Create(strCheckingLink);
objWebRequest.Timeout = 30000;
objHttpResponse = (HttpWebResponse)objWebRequest.GetResponse();
if (objHttpResponse.StatusCode == HttpStatusCode.Redirect)
{}
if (objHttpResponse.StatusCode == HttpStatusCode.OK)
{
httpSCode = (int)objHttpResponse.StatusCode;
httpMsg = "OK";
invalidLink = false;
}
else
{
invalidLink = true;
}
}
答案 0 :(得分:0)
您是否希望验证码正确验证您网站的页面?
在这种情况下,您需要以编程方式对自己的网站进行身份验证。由于身份验证通常是通过cookie完成的,因此您需要以某种方式获取身份验证cookie,然后将其附加到您的每个请求中。
答案 1 :(得分:0)
1,Timeout (MSDN): 域名系统(DNS)查询最多可能需要15秒才能返回或超时。如果您的请求包含需要解析的主机名,并且您将Timeout设置为小于15秒的值,则可能需要15秒或更长时间才会抛出WebException以指示请求超时。
2,重定向:如果页面重定向到另一个页面(状态301和302),HttpWebResponse将自动获取finally页面,因此状态为200(OK)
3,如果找不到页面(404)或服务器错误(500)或其他,则会抛出WebException