C#发送没有服务器名的HttpWebRequest

时间:2011-09-01 05:25:16

标签: c# redirect header httpwebrequest

基本上我一直在尝试从服务器下载文件。服务器自动发送重定向,这很好,但通过数据包嗅探成功下载文件的程序,我发现Headers(第二个请求)是:

GET /path/to/file.txt
...
Host: server.com

而不是生成当前的响应(我认为是标准的):

GET www.server.com/path/to/file.txt

使用普通的HttpWebRequest方法会导致500服务器错误,并且在尝试仅使用相对路径时会抛出异常。 使用AllowAutoRedirect不适用于此方案,因为cookie未得到正确处理,但即使我手动处理它也会发生同样的错误。

如何做到这一点(最好没有插座:D)?

1 个答案:

答案 0 :(得分:0)

说实话,我真的不确定你在问什么,但你提到了cookie问题。作为黑暗猜测的总镜头,您是否在WebRequest上设置CookieContainer?

request.CookieContainer = new CookieContainer();
request.AllowAutoRedirect = true;