我使用C#将POST数据发送到某个页面!它真的有用...... 我想问我如何使用结果数据(GET)...... 我想知道结果是否已重定向到另一页....
string Uname = username.Text;
string Pass = (item.Text);
ASCIIEncoding encoding = new ASCIIEncoding();
string pastData = POST1.Text + "=" + Uname + "&" + POST2.Text + "=" + Pass + "&" + Subtxt.Text;
// MessageBox.Show(pastData);
byte[] data = encoding.GetBytes(pastData);
WebRequest requst = WebRequest.Create(url.Text);
requst.Method = "POST";
requst.ContentType = "application/x-www-form-urlencoded";
requst.ContentLength = data.Length;
Stream stream = requst.GetRequestStream();
stream.Write(data, 0, data.Length);
stream.Close();
WebResponse response = requst.GetResponse();
stream = response.GetResponseStream();
StreamReader sr = new StreamReader(stream);
MessageBox.Show(sr.ReadToEnd());
此代码可用于发送POST而不会出现问题
我想知道sr值是否已重定向到另一个页面...
我有一些想法..我在sr
搜索重定向字。
有些网站没有找到重定向字数据(GET)..但它重定向......
**结论:**
如果我有管理页面网站...我发送带有真实数据的POST ..我想知道它是否结果重定向到页面管理员
答案 0 :(得分:2)
我认为您希望在请求中将AllowAutoRedirect
设置为false(您需要将其强制转换为HttpWebRequest
)。然后,您可以检查响应代码并查看它是否是重定向。重定向的目标页面应位于Location标题中。
private static void NoRedirect(string uri)
{
var request = (HttpWebRequest)WebRequest.Create(uri);
request.AllowAutoRedirect = false;
var resp = (HttpWebResponse)request.GetResponse();
Console.WriteLine(resp.StatusCode);
Console.WriteLine("Location: {0}", resp.Headers["Location"]);
using (var reader = new StreamReader(resp.GetResponseStream()))
{
Console.WriteLine(reader.ReadToEnd());
}
}