WebRequest在登录页面中发布数据

时间:2012-03-10 18:46:17

标签: c# http-post

我阅读了类似标题和测试代码的问题,但我的问题没有解决。 我的问题:我需要一个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

请帮帮我。

1 个答案:

答案 0 :(得分:1)

首先,您需要知道通过POST方法将哪些数据发送到登录页面。 要实现这一目标,您必须手动登录并将发布的数据捕获到登录页面 这可能通过使用像httpdebugger这样的http捕获软件 找到正确的帖子数据和httpheader后,您可以将数据放在代码上并尝试登录programaticaly

相关问题