PDA

View Full Version : ارسال اطلاعات فرم توسط Action



vahid64
دوشنبه 02 شهریور 1388, 19:10 عصر
با سلام

من جستجو هایی که انجام دادم در سایت نحوه پر کردن یک فرم رو یاد گرفتم و همین طور نحوه ارسال توسط کد جاوا اسکریپت!
اما مشکل من این هست که دکمه ارسال که روی صفحه وب هست یک Action را به یه صفحه وب دیگر (در یک آدرس دیگر در سرور)ارسال می کند که من مستقیماً نمی توانم به آن صفحه دسترسی داشته باشم!
می خوام بدونم برای Submit کردن یا زدن همون دکمه ارسال روی فرم باید از چه روشی استفاده کنم؟
متاسفانه روشهایی که تا الان از رو سایت مطالعه کردم جواب ندادن!


طاعات و عباداتتون قبول.

vcldeveloper
سه شنبه 03 شهریور 1388, 01:18 صبح
باید اطلاعات فرم HTML مربوطه به صفحه مشخص شده Post کنید. Post یکی از روش های ارسال داده در پروتکل HTTP هست. در تاپیک های مختلف تالار دلفی درباره چگونگی Post کردن داده های یک فرم HTML صحبت شده.

vahid64
سه شنبه 03 شهریور 1388, 11:02 صبح
ارسال اطلاعات به یک سرور با استفاده از HTTP (http://barnamenevis.org/forum/showthread.php?p=420638)

این تاپیک بسیار مفید رو مطالعه کردم ولی جواب نمی ده!شاید چون داره یه رشته کد رو به صورت Hidden می فرسته ؟
چون به صفحه خطا منتثل میشم!
اون رشته کد رو به صورت run time چه جوری می تونم به دست بیارم ؟
چون اگه request بدم به سرور یه رشته جدید می فرسته؟

ghabil
سه شنبه 03 شهریور 1388, 20:17 عصر
خطایی که میگیری چی هست؟

vahid64
سه شنبه 03 شهریور 1388, 21:36 عصر
اگه submit کنم که میره تو صفحه خطا که نوشته خطا رخ داده

اگه هم پست کنم!با روشی که تو اون تاپیک شما گفتید

بازم میره تو یه صفحه خطای دیگه که شما اصلاً مجاز به دیدن این صفحه مستقیم نمی باشید و یه همچین

چیزایی!حالا نمی دونم شاید من دارم اشتباه پست می کنم؟

ghabil
سه شنبه 03 شهریور 1388, 23:00 عصر
ببین دقیق متن خطای روش دوم رو بنویس لطفا

vcldeveloper
چهارشنبه 04 شهریور 1388, 01:10 صبح
شاید هم فرم HTML مربوطه فیلدهای Hidden داره، و شما به آن فیلدها مقادیر مناسبی نمیدید، در نتیجه خطا دریافت می کنید.

vahid64
چهارشنبه 04 شهریور 1388, 03:03 صبح
ببین دقیق متن خطای روش دوم رو بنویس لطفا

دقیقاً خطایی نمی ده !!! یعنی اصلاً کاری انجام نمی ده!!!

شاید من کد رو درست ننوشتم ؟

همین کد رو دقیقاً کپی کردم!

procedure THttpTestForm.btSendClick(Sender: TObject);
var
ARequestContent : TStringList;
AResponse: String;
begin
ARequestContent := TStringList.Create;
try
ARequestContent.Add('username=' + edName.Text);
ARequestContent.Add('password=' + edPass.Text);
AResponse := IdHTTPTest.Post('http://AWebSite.com/login.php', ARequestContent);
....
finally
ARequestContent.Free;
end;
end;فقط به جای آدرس جلوی پست آدرس صفحه جاری رو می زارم!حالا نمی دونم این کد چیزی کم داره من نمی دونم ؟ یا اینکه آدرس رو اشنباه می زنم؟چون من با این کد آشنایی ندارم!عملاً کپی پیست کردم!حقیقتش اولین بار هست که با idHTTP کار می کنم!


شاید هم فرم HTML مربوطه فیلدهای Hidden داره، و شما به آن فیلدها مقادیر مناسبی نمیدید، در نتیجه خطا دریافت می کنید. آره آقای کشاورز فرم فیلد Hidden داره

نمونه اش

<input name="passlineEncoded" value="aWw4RFU2WmlnVStCdEN1VExlQ0ZvaWd0NGNKaG16M0o1QVNKQl RYRlJnblhaRDJSeEpwZHRBPT0=" type="hidden">اگه میشه راهنمایی کنید اینو چه جوری ارسال کنم ؟
چون run time نمی تونم دست پیدا کنم بهش اگه هم request بدم سرور یه چیز جدید میده همینو نمی ده!!!

vahid64
چهارشنبه 04 شهریور 1388, 11:11 صبح
http://mytasvir.com/photo/gallery/14a94df5801e80.jpg

این ارور برای زمانی هست که به جای آدرس لاگین آدرس اون صفحه Action رو می دم!!!

ghabil
جمعه 06 شهریور 1388, 02:00 صبح
میتونی آدرس وب سایتی که براش ریکوست رو میخوای بفرستی رو بدی؟

vahid64
جمعه 06 شهریور 1388, 11:05 صبح
من الان مشکلم با اون فیلد Hidden هست!وگرنه فکر می کنم Submit جواب بده!
چون تست که کردم این میاد اطلاعات رو کد می کنه بعد Post می کنه!
تو URL یه SessionId می نویسه که پست میشه!
با توجه به فیلد Hidden که در پست شماره 8 نوشتم!
میشه راهنمایی کنید چطوری این فیلد رو باید پر کنم؟
توضیحات رو اونجا گفتم...

vcldeveloper
جمعه 06 شهریور 1388, 19:08 عصر
میشه راهنمایی کنید چطوری این فیلد رو باید پر کنم؟
این بستگی به اون سایت داره. شما باید خودتون کار آن را مهندسی معکوس کنید، و ببینید چه چیزی را با چه الگوریتمی کد می کند و در فیلد Hidden ارسال می کند، شما هم همان کار را تکرار کنید.

vahid64
جمعه 06 شهریور 1388, 20:17 عصر
مهندسی معکوس کار سختی هست منبع خوب در این زمینه ندارید معرفی کنید تا من آشنا بشم باهاش!؟
الگوریتم های معروف ؟ نمی دونم فکر می کنم درصد موفقیتم تو کرک کردن این کد خیلی پایین باشه!

sata108
سه شنبه 10 شهریور 1388, 19:41 عصر
سلام

البته من سوادم به این حد نیست اما این فیلد مخفی رو شما میتونی از جستجو در سورس html صفحهای که نیازی به پیدا کردن تابع و مهندسی معکوس نداره .چون اکثرا این فیلد از طریق سروز پر میشه و همراه دیگر اطلاعات و قیلدهای فرم برات فرستاده میشه. شما میتونید صفحه فرم مورد نظر را در برنامه فراخوانی کنی بعد فیلدهاشو مخفی و غیر مخفی از سورس صفحه در اری و بعد این اطلاعات رو با همون تابعت پر کنی و بفرستی.:متفکر:

من خودمم همین مشکل رو با سایت بورس داشتم.از شانس بد دلفی بلد نیستم و از کداش سر در نمیازم بخاطر همین نتونستم از راهنمایی دوستان برای پست کردن اطلاعات استفاده کنم و بیخیال شدم.