相关疑难解决方法(0)

HttpWebRequest.AllowAutoRedirect = false会导致超时吗?

我需要测试大约300个网址,以验证它们是否会导致实际页面或重定向到其他页面.我使用HttpWebRequest在.NET 2.0中编写了一个简单的应用程序来检查它.这是代码片段:

System.Net.HttpWebRequest wr = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create( url );
System.Net.HttpWebResponse resp = (System.Net.HttpWebResponse)wr.GetResponse();
code = resp.StatusDescription;
Run Code Online (Sandbox Code Playgroud)

代码运行得很快并写入文件,我的所有网址都返回状态200 OK.然后我意识到默认情况下GetResponse()遵循重定向.傻我!所以我添加了一行以使其正常工作:

System.Net.HttpWebRequest wr = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create( url );
wr.AllowAutoRedirect = false;
System.Net.HttpWebResponse resp = (System.Net.HttpWebResponse)wr.GetResponse();
code = resp.StatusDescription;
Run Code Online (Sandbox Code Playgroud)

我再次运行该程序并等待......等待...等待...事实证明,对于每个URL我得到一个System.Net.WebException"操作已经超时".很惊讶,我手动检查了URL - 工作正常......我注释掉了AllowAutoRedirect = false行 - 它再次正常工作.取消注释此行 - 超时.什么可能导致这个问题的想法以及如何解决?

.net c# redirect httpwebrequest

3
推荐指数
1
解决办法
3383
查看次数

如果response.redirect失败,则重定向到页面

我有一个response.redirect(url)去另一个网站.
如果此操作失败,我应该如何重定向到重定向失败页面?

  1. 该请求是从aspx页面后面的代码发送的.
  2. 我有一个httpmodule到位.可以用吗?

c#

1
推荐指数
1
解决办法
1237
查看次数

如何检查Web服务器上是否存在文件

我有一个存储在服务器上的文件,我填充的网页取决于文件存在与否的fatc.

如何测试服务器上的文件是否可用?该文件在网页上显示为:http: //main.server.com/PGT/Reports/ObjectsReport.xml

我必须测试这个文件的存在,如果它可用,我将显示一个链接,否则我想隐藏链接.

服务器的实际路径是//main.server.com/inetpub/wwwroot/PGT/Reports/ObjectsReport.xml,但我无法访问网络上的服务器(因此也无法访问该文件).我只能使用网页访问它.有没有办法测试服务器是否有文件或显示链接?(hlObjectsReport.Visible = false;)

我试过使用以下内容:

Uri validatedUri; Uri.TryCreate(uri,UriKind.RelativeOrAbsolute,out validatedUri);

但即使文件不存在,它也会返回一个有效的地址.

谢谢托尼.

c# asp.net

1
推荐指数
1
解决办法
6634
查看次数

标签 统计

c# ×3

.net ×1

asp.net ×1

httpwebrequest ×1

redirect ×1