我阅读了类似标题和测试代码的问题,但我的问题没有解决。 我的问题:我需要一个C#程序,将日期发布到调制解调器登录页面。我的调制解调器是wimax bm632。登录页面的地址是htp://192.168.1.1/以及有的表格的动作 在http://192.168.1.1/中http://192.168.1.1/index/login.cgi(表单操作)。我想在登录成功后转到http://192.168.1.1/html/wimax/security.asp并获取页面来源。 登录页面:http://chamalz.persiangig.com/image/1.JPG
我写这段代码:
WebRequest request = WebRequest.Create("http://192.168.1.1/index/login.cgi");
request.Method = "POST";
string postData = "Username=admin&Password=YWRtaW4%3D";
byte[] byteArray = Encoding.UTF8.GetBytes (postData);
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream ();
dataStream.Write (byteArray, 0, byteArray.Length);
dataStream.Close ();
WebResponse response = request.GetResponse ();
textBox1.Text=(((HttpWebResponse)response).StatusD escription);
dataStream = response.GetResponseStream ();
StreamReader reader = new StreamReader (dataStream);
string responseFromServer = reader.ReadToEnd ();
textBox1.Text= (responseFromServer);
reader.Close ();
dataStream.Close ();
response.Close ();
此代码没有错误但有问题:当我发布我的用户名和密码正确或不正确时,我在textBox1.Text中收到一个回复 答案是:http://chamalz.persiangig.com/image/2.JPG
请帮帮我。
答案 0 :(得分:1)
首先,您需要知道通过POST方法将哪些数据发送到登录页面。 要实现这一目标,您必须手动登录并将发布的数据捕获到登录页面 这可能通过使用像httpdebugger这样的http捕获软件 找到正确的帖子数据和httpheader后,您可以将数据放在代码上并尝试登录programaticaly