30yavash
پنج شنبه 29 شهریور 1386, 13:24 عصر
با سلام خدمت دوستان.
یه وب سایت هست که با ASP.NET نوشته شده و یه بخش جستجوی اعضای سایت داره.
این بخش جستجو یه TexBox داره که اسم طرف رو توش وارد می کنی و سه تا فیلد Hidden داره به نام های:
__EVENTTARGET,__EVENTARGUMENT,__VIEWSTATE
نتایج در یک DataGrid لیست می شه که اگر تعداد صفحات زیاد باشه با کلیک روی شماره هر صفحه می تونید به صفحه مورد نظر دسترسی داشته باشید.
رفتن به صفحات مختلف با کد جاوا اسکریپت انجام می شه.مثلا لینک صفحه 4 دارای کد زیر است:
<a href="javascript:__doPostBack('DataGrid1$_ctl1$_ctl3','' )">4</a>
و تابع doPostBack هم به صورت زیر تعریف شده:
<script language="javascript" type="text/javascript">
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
theform = document.Form1;
}
else {
theform = document.forms["Form1"];
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
</script>
فرم اصلی هم به صورت زیر تعریف شده:
<form name="Form1" method="post" action="users.aspx" id="Form1">
<input type="hidden" name="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" value="در این قسمت کاراکترهای رندم قرار دارد" />
<input name="TextBox1" type="text" value="" id="TextBox1" />
<input type="submit" name="Button1" value="جستجو" id="Button1" />
</form>
این فرم اطلاعات را به صورت post می فرسته.
حالا مشکل من اینه که می خام از یه برنامه تحت ویندوز به اطلاعات این سایت دسترسی داشته باشم مثلا وقتی یه نفر اسم کاربر رو توی برنامه وارد می کنه اطلاعات از سایت اصلی نمایش داده می شه.
ولی مشکل اینجاست که من نمی تونم بین صفحات اون سایت حرکت کنم.و ظاهرا فقط باید از طریق کد جاوا اسکریپت این کار انجام بشه.حالا می خاستم بدونم باید چی کار کنم؟
کارهایی که کردم:
بعد از اتصال به سایت اصلی اطلاعات رو به صورت Post می فرستم.اطلاعات ارسالی عبارتند از:
__EVENTTARGET=DataGrid1:_ctl1:_ctl9
__EVENTARGUMENT=
TextBox1=نام کاربر
ولی فقط صفحه اول نتایج نمایش داده می شه!
من حتا referer رو توی برنامه خودم به آدرس سایت تغییر دادم گفتم شاید برنامه نویس اینو چک می کنه ولی فایده نداشت.
نکته:آدرس سایت رو نمی تونم بدم برای اینکه اصلا توی اینترنت نیست!این سایت توی شبکه داخلی یک اداره است.
یه وب سایت هست که با ASP.NET نوشته شده و یه بخش جستجوی اعضای سایت داره.
این بخش جستجو یه TexBox داره که اسم طرف رو توش وارد می کنی و سه تا فیلد Hidden داره به نام های:
__EVENTTARGET,__EVENTARGUMENT,__VIEWSTATE
نتایج در یک DataGrid لیست می شه که اگر تعداد صفحات زیاد باشه با کلیک روی شماره هر صفحه می تونید به صفحه مورد نظر دسترسی داشته باشید.
رفتن به صفحات مختلف با کد جاوا اسکریپت انجام می شه.مثلا لینک صفحه 4 دارای کد زیر است:
<a href="javascript:__doPostBack('DataGrid1$_ctl1$_ctl3','' )">4</a>
و تابع doPostBack هم به صورت زیر تعریف شده:
<script language="javascript" type="text/javascript">
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
theform = document.Form1;
}
else {
theform = document.forms["Form1"];
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
</script>
فرم اصلی هم به صورت زیر تعریف شده:
<form name="Form1" method="post" action="users.aspx" id="Form1">
<input type="hidden" name="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" value="در این قسمت کاراکترهای رندم قرار دارد" />
<input name="TextBox1" type="text" value="" id="TextBox1" />
<input type="submit" name="Button1" value="جستجو" id="Button1" />
</form>
این فرم اطلاعات را به صورت post می فرسته.
حالا مشکل من اینه که می خام از یه برنامه تحت ویندوز به اطلاعات این سایت دسترسی داشته باشم مثلا وقتی یه نفر اسم کاربر رو توی برنامه وارد می کنه اطلاعات از سایت اصلی نمایش داده می شه.
ولی مشکل اینجاست که من نمی تونم بین صفحات اون سایت حرکت کنم.و ظاهرا فقط باید از طریق کد جاوا اسکریپت این کار انجام بشه.حالا می خاستم بدونم باید چی کار کنم؟
کارهایی که کردم:
بعد از اتصال به سایت اصلی اطلاعات رو به صورت Post می فرستم.اطلاعات ارسالی عبارتند از:
__EVENTTARGET=DataGrid1:_ctl1:_ctl9
__EVENTARGUMENT=
TextBox1=نام کاربر
ولی فقط صفحه اول نتایج نمایش داده می شه!
من حتا referer رو توی برنامه خودم به آدرس سایت تغییر دادم گفتم شاید برنامه نویس اینو چک می کنه ولی فایده نداشت.
نکته:آدرس سایت رو نمی تونم بدم برای اینکه اصلا توی اینترنت نیست!این سایت توی شبکه داخلی یک اداره است.