PDA

View Full Version : سوال: مشکل در ارسال اطلاعات به صفحه لاگین مودم



CHAMALZ
شنبه 20 اسفند 1390, 20:47 عصر
سلام . من میخوام که به صفحه تنظیمات مودم وایمکس (bm632) خودم با یوزر و پس لاگین کنم . و بعد از لاگین به صفحه (http://192.168.1.1/html/wimax/security.asp)برم و سورس صفحه را بگیرم.آدرس صفحه تنظیمات این است 192.168.1.1 و اکشن فرم این است http://192.168.1.1/index/login.cgi
این کد من است 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 ();

حالا مشکل این است که سورس کامل دریافت نمیشود حتی اگر یوزر و پس را هم اشتباه وارد کنم بازم جواب همان است که با یوزر و پس درست(Admin) دریافت کرده ام.

جواب دریافتی در تکست باکس:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>replace</title>
<body>
<script language="JavaScript" type="text/javascript">
var pageName = '/';
top.location.replace(pageName);
</script>
</body>
</html>


این عکس صفحه اول است
http://chamalz.persiangig.com/image/1.JPG

و این هم سورس صفحه اول :

<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="icon" type="image/icon" href="/favicon.ico?BM632w1295961160"/>
<script language="JavaScript" src="../js/util.js?BM632w1295961160"></script>
<script language="JavaScript" src="/lang/msgerrcode.res?BM632w1295961160"></script>
<script language="JavaScript" type="text/javascript">document.write("<title>" + gVarLogin + "</title>");</script>
<style type="text/css">
a
{
color:#000000;
cursor:hand;
font-family:Arial;
font-size:14px;
text-decoration :none;
}
td
{
font-family:Arial;
font-size:14px;
}
a:hover {
color:#990000;
}
body
{
margin: 0 0 0 0;
font-family:Arial;
background-color:#ededed;
}
</style>
<script language="JavaScript" type="text/javascript">
var LoginError = "0:1074266212";
var Cookieflag = 0;
var LoginTimes = 0;
var LoginErrorCode = 0;
var list = LoginError.split(":");
if (list.length == 2)
{
LoginTimes = list[0];
LoginErrorCode = list[1];
}
var inittime = 0;
var initcount = 0;
var firmenu = 'Admin_0';
var secmenu = 'Admin_0_0';
var thirdmenu = 'Admin_0_0_0';
var strCookie = document.cookie;
var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx yz0123456789+/";
var base64DecodeChars = new Array(
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);
function base64encode(str) {
var out, i, len;
var c1, c2, c3;
len = str.length;
i = 0;
out = "";
while(i < len) {
c1 = str.charCodeAt(i++) & 0xff;
if(i == len)
{
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt((c1 & 0x3) << 4);
out += "==";
break;
}
c2 = str.charCodeAt(i++);
if(i == len)
{
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4));
out += base64EncodeChars.charAt((c2 & 0xF) << 2);
out += "=";
break;
}
c3 = str.charCodeAt(i++);
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4));
out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >>6));
out += base64EncodeChars.charAt(c3 & 0x3F);
}
return out;
}
function base64decode(str) {
var c1, c2, c3, c4;
var i, len, out;
len = str.length;
i = 0;
out = "";
while(i < len) {
do {
c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
} while(i < len && c1 == -1);
if(c1 == -1)
break;
do {
c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
} while(i < len && c2 == -1);
if(c2 == -1)
break;
out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));
do {
c3 = str.charCodeAt(i++) & 0xff;
if(c3 == 61)
return out;
c3 = base64DecodeChars[c3];
} while(i < len && c3 == -1);
if(c3 == -1)
break;
out += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2));
do {
c4 = str.charCodeAt(i++) & 0xff;
if(c4 == 61)
return out;
c4 = base64DecodeChars[c4];
} while(i < len && c4 == -1);
if(c4 == -1)
break;
out += String.fromCharCode(((c3 & 0x03) << 6) | c4);
}
return out;
}
function mouseOverLink(id)
{
if (id.indexOf('Login') != -1)
{
document.getElementById('loginleft').style.backgro undImage="url(/images/btnPass_L.png?BM632w1295961160)";
document.getElementById('loginmid').style.backgrou ndImage="url(/images/btnPass_M.png?BM632w1295961160)";
document.getElementById('loginright').style.backgr oundImage="url(/images/btnPass_R.png?BM632w1295961160)";
}
else if (id.indexOf('Cancel') != -1)
{
document.getElementById('cancelleft').style.backgr oundImage="url(/images/btnPass_L.png?BM632w1295961160)";
document.getElementById('cancelmid').style.backgro undImage="url(/images/btnPass_M.png?BM632w1295961160)";
document.getElementById('cancelright').style.backg roundImage="url(/images/btnPass_R.png?BM632w1295961160)";
}
}
function mouseOutLink(id)
{
if (id.indexOf('Login') != -1)
{
document.getElementById('loginleft').style.backgro undImage="url(/images/btnInit_L.png?BM632w1295961160)";
document.getElementById('loginmid').style.backgrou ndImage="url(/images/btnInit_M.png?BM632w1295961160)";
document.getElementById('loginright').style.backgr oundImage="url(/images/btnInit_R.png?BM632w1295961160)";
}
else if (id.indexOf('Cancel') != -1)
{
document.getElementById('cancelleft').style.backgr oundImage="url(/images/btnInit_L.png?BM632w1295961160)";
document.getElementById('cancelmid').style.backgro undImage="url(/images/btnInit_M.png?BM632w1295961160)";
document.getElementById('cancelright').style.backg roundImage="url(/images/btnInit_R.png?BM632w1295961160)";
}
}
function SubmitForm(type)
{
var Username = document.getElementById('txt_Username');
var Password = document.getElementById('txt_Password');
document.getElementById('loginleft').style.backgro undImage="url(/images/btnClick_L.png?BM632w1295961160)";
document.getElementById('loginmid').style.backgrou ndImage="url(/images/btnClick_M.png?BM632w1295961160)";
document.getElementById('loginright').style.backgr oundImage="url(/images/btnClick_R.png?BM632w1295961160)";
if (Username.value == "")
{
alert(gErrStr0);
document.getElementById('loginleft').style.backgro undImage="url(/images/btnInit_L.png?BM632w1295961160)";
document.getElementById('loginmid').style.backgrou ndImage="url(/images/btnInit_M.png?BM632w1295961160)";
document.getElementById('loginright').style.backgr oundImage="url(/images/btnInit_R.png?BM632w1295961160)";
if (type)
return false;
else
return;
}
if (Password.value == "")
{
alert(gErrStr1);
document.getElementById('loginleft').style.backgro undImage="url(/images/btnInit_L.png?BM632w1295961160)";
document.getElementById('loginmid').style.backgrou ndImage="url(/images/btnInit_M.png?BM632w1295961160)";
document.getElementById('loginright').style.backgr oundImage="url(/images/btnInit_R.png?BM632w1295961160)";
if (type)
return false;
else
return;
}
var cookie = "FirstMenu=" + firmenu + "; path=/";
document.cookie = cookie;
var cookie = "SecondMenu=" + secmenu + "; path=/";
document.cookie = cookie;
var cookie = "ThirdMenu=" + thirdmenu + "; path=/";
document.cookie = cookie;
var date = new Date();
date.setTime(date.getTime()+(365*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
var lantype = 0;
if (0 == lantype)
{
var cookie = "Language=en" + expires + "; path=/";
}
else
{
var cookie = "Language=zh" + expires + "; path=/";
}
document.cookie = cookie;
var form = new webSubmitForm();
form.setAction('/index/login.cgi');
form.addParameter('Username', Username.value);
form.addParameter('Password', base64encode(Password.value));
form.submit();
if (type)
return true;
else
return;
}
function get_cookie (cookie_name)
{
var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
if (results)
{
return (results[2]);
}
else
{
return "";
}
}
function LoadFrame()
{
document.getElementById('txt_Username').tabIndex = 1;
document.getElementById('txt_Password').tabIndex = 2;
document.getElementById('btnLogin').tabIndex = 3;
document.getElementById('btnCancel').tabIndex = 4;
document.getElementById('txt_Username').focus();
setSelect('Language', 0);
if ((LoginErrorCode < gPubErrStrArray.length) && (LoginErrorCode != '0'))
{
alert(gPubErrStrArray[LoginErrorCode]);
}
}
function onCancel()
{
var Username = document.getElementById('txt_Username');
var Password = document.getElementById('txt_Password');
document.getElementById('cancelleft').style.backgr oundImage="url(/images/btnClick_L.png?BM632w1295961160)";
document.getElementById('cancelmid').style.backgro undImage="url(/images/btnClick_M.png?BM632w1295961160)";
document.getElementById('cancelright').style.backg roundImage="url(/images/btnClick_R.png?BM632w1295961160)";
Username.value = '';
Password.value = '';
}
function onHandleKeyDown(e)
{
var key = 0;
if (window.event)
key = window.event.keyCode;
else if (e)
key = e.which ;
if (key == 13)
{
return SubmitForm(1);
}
return true;
}
function ChangeLanguage()
{
var date = new Date();
date.setTime(date.getTime()+(365*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
var lantype = 0;
if (0 == lantype)
{
var cookie = "Language=en" + expires + "; path=/";
}
else
{
var cookie = "Language=zh" + expires + "; path=/";
}
document.cookie = cookie;
var form = new webSubmitForm();
form.setAction('/tes/chglogin.cgi');
form.submit();
}
document.onkeypress = onHandleKeyDown;
</script>
</head>
<body onLoad="LoadFrame();">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">

<tr>
<td height="61" valign="top">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="162" height="68">
<table width="100%" border="0" cellpadding="0" cellspacing="0" height="100%" background="/images/logoback.gif?BM632w1295961160" >
<tr>
<td width="162" align="center">
<img src="/images/logo.gif?BM632w1295961160" border="0" style="position:relative; top:0px"></img> </td>
</tr>
</table>
</td>
<td width="18" background="/images/leftblock.gif?BM632w1295961160">&nbsp;</td>
<td background="/images/midblock.gif?BM632w1295961160" valign="top">
<table height="61" border="0">
<tr>

<td height="15" colspan="5"></td>
</tr>
<tr>
<td width="30" height="27">&nbsp;</td>
<td width="504" valign="top" id="igd_title">
<b>
<font color="#006699" style="font-family:Arial;font-size:28px;">
<script language="JavaScript" type="text/javascript">
document.write(eval("gVarTitle"));
</script>
</font>
<b>
</td>
<td width="117" valign="top">&nbsp;</a></td>
<td width="60" valign="top">&nbsp;</td>
<td width="95" valign="top">&nbsp;</td>
</tr>
<tr> </tr>

</table>
</td>
<td width="19" background="/images/rightblock.gif?BM632w1295961160">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="510" align="center">
<table height="351" width="383" cellpadding="0" cellspacing="0" border="0" style="position:relative;top:-30px;">
<tr>
<td height="74"><img src="/images/logtop.png?BM632w1295961160" width="383" height="74"></img></td>
</tr>
<tr>
<td>
<table height="174" width="383" cellpadding="0" cellspacing="0" border="0" background="/images/logMid.png?BM632w1295961160">
<tr height="24">

<td colspan="4">&nbsp;</td>
</tr>
<tr>
<td width="30">&nbsp;</td>
<td width="29" height="30"><img src="/images/username.png?BM632w1295961160" width="29" height="30"></img></td>
<td width="100" align="center" id="usernameId">&nbsp;
<script language="JavaScript" type="text/javascript">
document.write(gVarName);
</script>
</td>
<td width="221" align="left">
<input id="txt_Username" type="text" name="Username" style="height:22px; width:155px;font-family:Arial;">
</td>
</tr>
<tr><td height="10"></td></tr>
<tr>
<td width="30">&nbsp;</td>
<td width="29" height="30"><img src="/images/password.gif?BM632w1295961160" width="29" height="30"></img></td>

<td width="100" align="center" id="passwordId">&nbsp;
<script language="JavaScript" type="text/javascript">
document.write(gVarPwd);
</script>
</td>
<td width="221" align="left">
<input id="txt_Password" type="password" name="Password" style="height:22px; width:155px;font-family:Arial;">
</td>
</tr>
<tr>
<td height="38" colspan="2">&nbsp;</td>
<td colspan="2" align="center" id="erroinfoId">
<script language="JavaScript" type="text/javascript">
if(Cookieflag == 1)
{
getElement('erroinfoId').innerHTML = '<font color="#FF3300">' + gErrStr2;
}
else if (Cookieflag == 2)
{
getElement('erroinfoId').innerHTML = '<font color="#FF3300">' + gErrStr3;
}
else
{
if (LoginTimes == 0)
{
getElement('erroinfoId').innerHTML = '<font color="#9e9e9e">' + gErrStr4;
}
else if (LoginTimes == 1)
{
getElement('erroinfoId').innerHTML = '<font color="#FF3300">' + gErrStr5;
}
else if (LoginTimes == 2)
{
getElement('erroinfoId').innerHTML = '<font color="#FF3300">' + gErrStr6;
}
else if (LoginTimes >= 3)
{
getElement('erroinfoId').innerHTML = '<font color="#FF3300">' + gErrStr7;
}
}
</script>
</td>
</tr>
</table>
</td>

</tr>
<tr>
<td height="103" valign="top" background="/images/logBotom.png?BM632w1295961160">
<table height="30" width="100%" cellpadding="0" cellspacing="0" border="0" style="border-color:#efefef;">
<tr>
<td width="50">&nbsp; </td>
<td id="loginleft" width="5" background="/images/btnInit_L.png?BM632w1295961160" style="background-repeat:no-repeat"></td>
<td id="loginmid" width="89" align="center" background="/images/btnInit_M.png?BM632w1295961160">
<a id="btnLogin" href="javascript:SubmitForm(0);" onMouseOver="mouseOverLink(this.id);" onMouseOut="mouseOutLink(this.id);">
<script language="JavaScript" type="text/javascript">document.write(gVarLogin);</script>
</a></td>
<td id="loginright" width="5" background="/images/btnInit_R.png?BM632w1295961160" style="background-repeat:no-repeat"></td>
<td width="50">&nbsp;</td>
<td id="cancelleft" width="5" background="/images/btnInit_L.png?BM632w1295961160" style="background-repeat:no-repeat"></td>
<td id="cancelmid" width="89" background="/images/btnInit_M.png?BM632w1295961160" align="center">

<a id="btnCancel" href="#" onMouseOver="mouseOverLink(this.id);" onMouseOut="mouseOutLink(this.id);" onClick="onCancel();">
<script language="JavaScript" type="text/javascript">document.write(gVarCancel);</script>
</a>
</td>
<td id="cancelright" width="5" background="/images/btnInit_R.png?BM632w1295961160" style="background-repeat:no-repeat"></td>
<td width="51">&nbsp; </td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>

</html>

bade saba
شنبه 20 اسفند 1390, 21:50 عصر
اول از همه این که شما در زمان ارسال فقط username و password رو ارسال کردی در صورتی که باید رویداد دکمه ای که form رو هم ارسال میکنه هم ارسال بشه تا بتونی login کنی و بعد از login کردن هم باید بتونی کوکی ها رو هم مدیریت کنی تا لاگین بمونی، اگه کاری که میخوای بکنی خیلی پیچیده نیست بهتره بری از کلاس webBrowser استفاده کنی

موفق باشید

CHAMALZ
شنبه 20 اسفند 1390, 22:07 عصر
منظور از این جمله چیه ؟ : در صورتی که باید رویداد دکمه ای که form رو هم ارسال میکنه هم ارسال بشه تا بتونی login کنی
این اطلاعات هدر ارسالی است:
Host: 192.168.1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://2.146.200.26/
Cookie: FirstMenu=Admin_0; SecondMenu=Admin_0_0; ThirdMenu=Admin_0_0_0; Language=en; SessionID_R3=526578199
Content-Type: application/x-www-form-urlencoded
Content-Length: 34

post content:
Username=admin&Password=YWRtaW4%3D

bade saba
یک شنبه 21 اسفند 1390, 00:22 صبح
منظورم از ارسال دکمه اینه که وقتی شما در حالت عادی در browser یوزر و پسوردت رو وارد میکنی و دکمه لاگین رو میزنی اطلاعات موجود در اون فرم که شامل input ها هستم ارسال میشن، حالا این input ها یا textbox هست که شما میبینی یا این که از نوع hidden هست که شما نمیبینی در هر حال شما باید page source رو چک کنی و همه رو برای سایت بفرستی، به جز اینا رویداد دکمه فشرده شده هم برای سایت ارسال میشه این برای اینه که سرور بفهمه با فشرده شدن کدام دکمه اطلاعات ارسال شده ( اگه صفحه چند بخش داشته باشه و چند دکمه به درد میخوره) برای همین باید رویداد دکمه هم ارسال بشه، مثلا کدت باید اینجوری بشه
byte[] data = encoding.GetBytes("name=myuser&password=mypassword&s1=Button");
در نظر داشته باش که مقادیر رو باید از page source در بیاری و برای دکمه بنویسی.

در مورد هدر هم این پست (http://barnamenevis.org/showthread.php?248492-%DA%86%D8%B1%D8%A7-%D8%A7%DB%8C%D9%86-error-%D8%B1%D9%88-%D9%85%DB%8C%D8%AF%D9%87-%D9%88-%DA%86%D9%87-%D8%AC%D9%88%D8%B1%DB%8C-%D9%85%DB%8C%D8%B4%D9%87-%D8%B1%D9%81%D8%B9%D8%B4-%DA%A9%D8%B1%D8%AF-The-remote-server-returned-an-error-(411)-Length-Req&highlight=webBrowser) رو نگاه کن من حدودا یک سال پیش به این مشکلات بر خوردم و راه حلش رو تو اون پست نوشتم

CHAMALZ
یک شنبه 21 اسفند 1390, 07:06 صبح
خیلی ممنون از پاسخ شما. ولی به جز یوزر و پس چیز دیگه ای ارسال نمیشه . من سورس صفحه را هم گذاشتم . لطفا کمک کنید.

bade saba
یک شنبه 21 اسفند 1390, 10:32 صبح
ببین دوست عزیز این صفحه رویداد کلیک رو با JavaScript پیاده سازی کرده و من JavaScript بلد نیستم این رو تو بخش مربوط به JavaScript مطرح کن ببین چی میفرسته و با چه نامی میفرسته و تو رشته ارسالیت بیارش