StreamReader,错误请求(400)

时间:2011-08-23 14:06:32

标签: c# asp.net iis-7

我们有一个允许固件下载的网站。

沿途它使用StreamReader。由于某些未知原因,某些客户(以色列)收到400 Bad Request错误。其他人都没有收到这个错误。

那里的Any1经历过同样的事情吗?有人知道吗?

protected void Page_Load(object sender, EventArgs e)
{
    string strURL = Request.Url.Host;
    System.Net.WebRequest reqPT = System.Net.WebRequest.Create("http://" + strURL + "/Products/ProductTree.asp");
    System.IO.StreamReader srPT = new System.IO.StreamReader(reqPT.GetResponse().GetResponseStream());
    dvPT.Controls.Add(new LiteralControl(srPT.ReadToEnd()));
}

它只会在新的StreamReader上崩溃。

谢谢!

更新:我们注意到客户实际上在地址(strURL)中丢失了“www”,导致错误。为什么有人(点击与地球其他部分相同的链接)会松开www?我看到完全相同的代码有两种不同的行为:S

1 个答案:

答案 0 :(得分:1)

由于HTTP 400错误,请求的网址可能无效,并且由于System.Net.WebRequest中的文字看起来不错,我的猜测是您的以色列用户使用与所有人不同的Request.Url.Host请求网页其他。您可以调试并验证strUrl的价值吗?