C# 3.0 使用HttpWebrequest-c时,handle StatusCode==302#

C# 3.0 使用HttpWebrequest-c时,handle StatusCode==302#,c#-3.0,C# 3.0,我有一个windows应用程序,我正在尝试构建它来模拟上传到web应用程序。该项目采用C#3.0 使用Fiddler时,我可以看到以下内容 /登录页面-200代码 输入pwd/uname /主页-302代码 /主页-200代码 /上传页面[此页面有简单的多部分表单帖子,用户最多可以选择2个文件进行上传]-200代码 /文件处理页面-302代码 /文件处理页面-200代码 当我将HttpWebrequest与webresponse对象一起使用时,我得到 /登录页面-200代码 输入pwd/unam

我有一个windows应用程序,我正在尝试构建它来模拟上传到web应用程序。该项目采用C#3.0

使用Fiddler时,我可以看到以下内容

/登录页面-200代码

输入pwd/uname

/主页-302代码 /主页-200代码

/上传页面[此页面有简单的多部分表单帖子,用户最多可以选择2个文件进行上传]-200代码

/文件处理页面-302代码 /文件处理页面-200代码

当我将HttpWebrequest与webresponse对象一起使用时,我得到

/登录页面-200代码

输入pwd/uname

/主页-200代码

/上传页面[此页面有简单的多部分表单帖子,用户最多可以选择2个文件进行上传]-200代码

/文件处理页面-302代码

我确实已将AutoRedirect设置为true

我的代码是

                Stream requestStream = request.GetRequestStream();
                requestStream.Write(bytes, 0, bytes.Length);
                requestStream.Write(buffer, 0, buffer.Length);
                FileStream stream2 = new FileStream(filePath, FileMode.Open, FileAccess.Read);
                byte[] buffer = new byte[0x1000];
                int count = 0;
                while ((count = stream2.Read(buffer, 0, buffer.Length)) != 0)
                {
                    requestStream.Write(buffer, 0, count);
                }
                bytes = Encoding.ASCII.GetBytes("\r\n--" + str2 + "--\r\n");
                requestStream.Write(bytes, 0, bytes.Length);
                requestStream.Close();
                stream.Close();
                HttpWebResponse response = request.GetResponse() as HttpWebResponse;
                if(response.StatusCode == HttpStatusCode.Found)
                {
                    string newURL = response.Headers["Location"];
                }

我如何避免302错误或如何解释它,其中我可以成功地进行表单发布以模拟上传

我有一个类似的案例,在我预期返回200时收到302状态代码(如在Fiddle或Firebug:net选项卡中)。我能够通过为HttpWebResponse提供一个用户代理规范来解决这个问题

request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0";