HttpWebResponse抛出超时异常
本文关键字:异常 超时 HttpWebResponse | 更新日期: 2023-09-27 17:53:07
我正在尝试验证HttpWebRequest
。我的代码是这样的
string url = "http://mydomain.com";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
HttpCookie cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
req.Headers[HttpRequestHeader.Cookie] = string.Format("{0}={1}", cookie.Name, cookie.Value);
WebResponse res = req.GetResponse();
一切正常,直到最后一行执行(WebResponse res = req.GetResponse();)。当最后一行执行代码执行返回到第一行(string url = "string url = "http://mydomain.com";";)并重新开始时,这种情况发生了很多次,导致超时异常发生。
首先-不清楚为什么url是这样定义的:
string url = "HttpContext.Current.Request.Url.AbsoluteUri";
这不是一个有效的URL。但是如果你有
string url = HttpContext.Current.Request.Url.AbsoluteUri;
那么您正在生成对您所在的同一页面的请求。所以基本上,你只要产生一个循环。你从浏览器中调用你的页面,它使用webrequest调用自己,然后再次调用自己。所以在VS调试器会显示你喜欢它回到第一行。
尝试简单地改变url定义,如下所示:
string url = "http://wwww.google.com";
如果你这样做,它应该工作得很好。基本上,据我所知,您只是使用错误的URL,它创建了类似循环的东西(或者更好地说:长链调用)
试着去掉HttpContext
行中的引号:
string url = HttpContext.Current.Request.Url.AbsoluteUri;
你正在请求URI地址"HttpContext.Current.Request.Url"。绝对URI ",而不是包含在变量HttpContext.Current.Request.Url.AbsoluteUri
中的实际绝对URI "http://domain.com/"。