PDA

View Full Version : سوال: ورود خودکار به یک وب که نیاز به یوزر و پسورد دارد



mehrdad1991h
دوشنبه 27 خرداد 1392, 18:22 عصر
سلام
در حال نوشتن یه برنامه هستم
برای قسمتی از اون چنین اتفاقی رخ میدهد
درصورتی که کاربر ذکر کرد وب سایت مورد نظر نیاز به یوزر و پسورد داره باتوجه به لینکی که کاربر وارد کرده همون صفحه را به کاربر نمایش میدم
خوب الان کاربر داره یه صفحه ی وب را داخل برنامه سی شارپ که نوشته شده میبینه
در این صفحه وب بالاخره یه قسمت برای یزر هست یه قسمت برای پسورد و ممکنه چندین چیز دیگه هم باشه

الان من میخوام 2 تا کار انجام بدم
1 - میخوام فیلدهایی که کاربر پر میکنه را شناسایی و ذخیره کنم که در مرتبه های بعدی کاربر پر نکنه خودکار پر بشوند
این کار را چگونه انجام دهم

2 - بعد از این که کاربر فیلد ها را پر کرد بالاخره و یه کلیدی چیزی کلیک میکنه که لاگین بشه دیگه درسته ؟
خوب من چجوری میتونم بفهمم رو کجا کلیک کرده تا دفعه بعدی برنامه خودکار کلیک کنه ؟ و چجوری خودکار کلیک کنه ؟


یک مثال :
در فایرفاکس افزونه ای وجود داره به نام LastPass این افزونه کارش اینه که یوزر و پسورد سایت هایی که کاربر بهشون لاگین میکنه را بگیره و ذخیره کنه و در دفعات بعد ازشون استفاده کنه
روش کارش به این صورته که میاد نام فیلد ها را میبینه چیه و اطلاعاتی که کاربر درشون زده را هم میبینه و اون ها را ذخیره میکنه
حالا یه حالت داره که کاربر میتونه اون سایت را انتخاب کنه و روی Auto Login ستش کنه در این حالت کاربر هر وقت وارد سایت مذکور بشه
به صورت خودکار در اون سایت لاگین میشه (بدون این که فیلدی را پر کنه یا روی باتن یا کلیکی یا... کلیک کنه... کاملا خودکار)
دقیقا یه چیزی میخوام بسازم شبیه به این

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

aradrobo
دوشنبه 27 خرداد 1392, 18:48 عصر
دقیقاً بگویید چی می خواهید بسازید ؟

mehrdad1991h
دوشنبه 27 خرداد 1392, 20:19 عصر
دقیقاً بگویید چی می خواهید بسازید ؟

زیاد توضیح دادم گیج شدید ؟

میخوام به هر سایتی که یوزر و پسورد لازم داره بدون دخالت کاربر وارد بشوم
یعنی کاربر تنها برای یک مرتبه یوزر وپسورد را وارد کند و از ان پس هرگز (تا زمانی که سایت تغییری درش ایجاد نشده) صفحه ی لاگین را نبیند

mehrdad1991h
سه شنبه 28 خرداد 1392, 00:37 صبح
کسی فهمید من چی میخواهم و چی میگویم ؟

barnamenevisjavan
سه شنبه 28 خرداد 1392, 09:26 صبح
http://barnamenevisjavan.com/source/655#more
یه نمونه برنامه که وارد سایت بلاگفا میشه
روش کار هم باید سورس سایت موردنظر رو از طریق ابزار مرورگر ها (Ctrl +U) بدست بیاری و سپس دنبال پارامتر های ورود باشی
توجه لینک بالا رایگان نیست

mehrdad1991h
سه شنبه 28 خرداد 1392, 09:55 صبح
http://barnamenevisjavan.com/source/655#more
یه نمونه برنامه که وارد سایت بلاگفا میشه
روش کار هم باید سورس سایت موردنظر رو از طریق ابزار مرورگر ها (Ctrl +U) بدست بیاری و سپس دنبال پارامتر های ورود باشی
توجه لینک بالا رایگان نیست

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

abdullah20
سه شنبه 28 خرداد 1392, 10:52 صبح
برای همین سایت blogfa که دوستمون گفتن میتونید با استفاده از کد زیر login کنید:

foreach (HtmlElement element in webBrowser1.Document.GetElementsByTagName("input"))
{
if (element.GetAttribute("name") == "uid")
{
element.InnerText = (textBox1.Text);
}
if (element.GetAttribute("name") == "password")
{
element.InnerText = (textBox2.Text);
}
if (element.GetAttribute("name") == "btnSubmit")
{
element.InvokeMember("click");
}
}

ولی همون طور که گفتید پارامتر های ورودی ثابت نیستند حالا با کد زیر تقریبا میتونید پارامترهای ورودی را دریافت کنید

foreach (HtmlElement element in webBrowser1.Document.GetElementsByTagName("input"))
listBox1.Items.Add(element.Name);