View Full Version : ورود به یک سایت
AliRezaBeytari
سه شنبه 16 دی 1393, 13:14 عصر
سلام دوستان.
میخواستم بدونم چطور میتونم با Username و Passwordیی که از کاربر گرفتم به سایت خاصی وارد بشم ؟؟!!
روش کلی کار چطور هست و اگر نمونه کدی هم دارید قرار بدید.
خیلی ممنونم.
s3rv3r
سه شنبه 16 دی 1393, 15:12 عصر
شما میخوایی سایت باز کنی؟ یا API ساختی میخوای با یوزر و پسورد json چیزی از سایت بگیری؟
AliRezaBeytari
سه شنبه 16 دی 1393, 18:47 عصر
شما میخوایی سایت باز کنی؟ یا API ساختی میخوای با یوزر و پسورد json چیزی از سایت بگیری؟
نگاه کنید ؛ مثلا یک سایت داریم با آدرس www.site.com
حالا تو این سایت یه Form وجود داره که نام کاربری و رمزعبور رو میگیره و کاربر میتونه با اون به سایت وارد بشه.
درنظر داشته باشید که Cookie ها و Session ها هم ست میشوند و نباید از بین بروند.
بعد از این که کاربر وارد سایت شد ، متیونه مثلا به آدرس www.site.com/my_info دسترسی داشته باشه.
حالا من میخوام بدونم چطور میتونم این کارها رو انجام بدم (در آندروید) !
خیلی ممنونم.
AliRezaBeytari
چهارشنبه 17 دی 1393, 13:39 عصر
کسی نیست راهنمایی کنه ؟؟!!
چطور میتونم این پروژه رو درست کنم ؟؟!!
لطفا راهنمایی کنید !!
dalmif
چهارشنبه 17 دی 1393, 14:01 عصر
من هستم.
سلام دوست عزیز
شما باید با جیسون کار کنید.
بسیار ساده است. شمااطلاعات فرم رو به چه فایلی می فرستید؟
مثلا میگیم شما اطلاعات فرم رو میفرستید به فایل dovom.php که در این فایل چک میشه که آیا مقادیر ارسال شده یا نه.
اگه ارسال شده بود اون صفحه ی که می خواهید رو نشون میده.
خب حالا شما در اندروید با وب سرویس میاید مقادیر وارد شده توسط کاربر رو توسط جیسون برای فایل dovomi.php می فرستید و اون فایل چک میکنه که آیا مقادیر داده شده درست هست یا نه و اگه درست بود مثلا برای اندروید یک پیام مبنی بر اینکه yes you login in site خب حالا اندروید میاد چک میکنه که چنین پیامی داری یا نه اگه داشته باشی مثلا توی یک اکتیویتی یک وب ویو باز میکنه و یوزر و پسورد شما رو در یک Shared Prefrences می ریزه و در هر صفحه ای که میرید اول به صورت اتوماتیک یوزر و پسورد رو برای صفحه php جدید میفرسته و اگه true بازگشت داد، اعمال و رفتار های مورد نظر شما اجرا میشه.
ساده است :لبخند:
#root#
چهارشنبه 17 دی 1393, 14:22 عصر
سلام دوستان.
میخواستم بدونم چطور میتونم با Username و Passwordیی که از کاربر گرفتم به سایت خاصی وارد بشم ؟؟!!
روش کلی کار چطور هست و اگر نمونه کدی هم دارید قرار بدید.
خیلی ممنونم.
سلام
شاید با کتابخونه Jsoup چنین کاری رو انجام داد، در موردش تحقیق کنید.
AliRezaBeytari
چهارشنبه 17 دی 1393, 20:55 عصر
فکر کنم منظور من رو متوجه نشدید و شاید خوب توضیح ندادم.
ببینید ، ما درون سایت http://site.com یک صفحه با نام login.php داریم که کاربر از طریق اون وارد سایت میشه و آدرسش اینطوری میشه : http://site.com/login.php
خب حالا درون این صفحه login.php ما یک تگ form داریم که ورودی هایی رو از کاربر دریافت میکنه :
<form action="" method="post" name="frmLogin">
Username: <input type="text" name="username" /><br>
Password: <input type="password" name="password" /><br>
<input type="submit" value="Login" />
</form>
در کنار این صفحه login.php ما یک صفحه هم با نام user_info.php داریم که درون اون اطلاعات کاربر Login شده نمایش داده میشه. درحقیقت این صفحه اول چک میکنه که اگر کاربر وارد نشده باشه ، اول Redirect میکنه به صفحه login.php تا در اون صفحه وارد بشه ، بعد میتونه وارد صفحه user_info.php بشه تا اطلاعات خودش رو ببینه.
دقت کنید که صفحه user_info.php از Cookieها و Sessionها برای چک کردن وارد بودن استفاده میکنه ، لذا باید هنگام ورود در صفحه login.php اون Cookieها و Sessionها رو نگه داریم و از بین نرند.
خب حالا میریم در قسمت آندروید. درون یک Activity دوتا EditText برای Username و Password قرار دادیم به همراه یک Button تا کاربر بتونه با اون ها مقادیر رو ارسال کنه. خب حالا من میخوام بدونم چطور باید این مقادیر رو به صفحه http://site.com/login.php ارسال کنم و بعد از اینکه ارسال شد در خود برنامه آندروید (که Cookieها و Sessionها رو نگه داشتیم) اطلاعات کاربر رو از صفحه http://site.com/user_info.php دریافت کنیم.
امیدوارم تونسته باشم منظورم رو درست بیان کنم !!
بسیار سپاسگزارم.
#root#
چهارشنبه 17 دی 1393, 21:47 عصر
من کاملاً متوجه شده بودم از اول :)
اگه سایت مال خودتون هست که بهتره وب سرویس بنویسید، در غیر اینصورت همون چیزی که گفتم رو شما پیگیری کنید، مثلا: لینک1 (http://stackoverflow.com/questions/20171567/login-a-website-with-jsoup-post-method) لینک 2 (http://stackoverflow.com/questions/10156019/using-jsoup-to-sign-in-and-crawl-data)
البته اینکه با این کتابخونه میشه به هدف شما رسید یا نه رو نمیدونم، نیاز به آزمایش داره، اطلاعات ناقصی داشتیم گفتیم به اشتراک بزاریم.
dalmif
چهارشنبه 17 دی 1393, 22:08 عصر
منم دقیقا منظور شما رو فهمیده بودم و منم اینظور براتون توضیح دادم که بتونید کامل بنویسید.
برای آموزش وب سرویس از لینک زیر استفاده کنید
لینک (http://barnamenevis.org/showthread.php?457283-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%D8%A7%D8%AE%D8%AA-%D9%88%D8%A8-%D8%B3%D8%B1%D9%88%DB%8C%D8%B3-%D9%88-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF)
AliRezaBeytari
پنج شنبه 18 دی 1393, 10:00 صبح
من کاملاً متوجه شده بودم از اول :)
اگه سایت مال خودتون هست که بهتره وب سرویس بنویسید، در غیر اینصورت همون چیزی که گفتم رو شما پیگیری کنید، مثلا: لینک1 (http://stackoverflow.com/questions/20171567/login-a-website-with-jsoup-post-method) لینک 2 (http://stackoverflow.com/questions/10156019/using-jsoup-to-sign-in-and-crawl-data)
البته اینکه با این کتابخونه میشه به هدف شما رسید یا نه رو نمیدونم، نیاز به آزمایش داره، اطلاعات ناقصی داشتیم گفتیم به اشتراک بزاریم.
خیلی ممنونم.
من میخواستم بدون استفاده از کتابخانه از پیش نوشته شده باشه. در واقع میخوام متکی بر خودم باشم ، نه کتابخانه.
راه دیگه ای (که بدون استفاده از کتابخانه باشه) سراغ ندارید ؟؟!!
s3rv3r
پنج شنبه 18 دی 1393, 14:15 عصر
همونطور که دوستان گفتند بهتره وب سرویس یه یه چیزی تو مایه های وب سرویس راه بندازی. وگرنه یوزر پسورد رو از ادیب باکس بگیر با وب ویو پاس بدی به سایت
بقیه کارار رو طرف تو وب ویو میبنیه
یا تهش بعد کدنویسی و انجام کار خروجی شما html هستش باید تو وب ویو نمایش بدی
احساس میکنم شما سمت سرور مشکل دارید(ساختن صفحاتی که خروجی مناسب برای دریافت توسط برنامتون بده) تا کد نویسی سمت اندروید
AliRezaBeytari
پنج شنبه 18 دی 1393, 14:43 عصر
همونطور که دوستان گفتند بهتره وب سرویس یه یه چیزی تو مایه های وب سرویس راه بندازی. وگرنه یوزر پسورد رو از ادیب باکس بگیر با وب ویو پاس بدی به سایت
بقیه کارار رو طرف تو وب ویو میبنیه
یا تهش بعد کدنویسی و انجام کار خروجی شما html هستش باید تو وب ویو نمایش بدی
احساس میکنم شما سمت سرور مشکل دارید(ساختن صفحاتی که خروجی مناسب برای دریافت توسط برنامتون بده) تا کد نویسی سمت اندروید
نه اتفاقا. بنده اصلا در قسمت Server مشکلی ندارم. خیلی هم در ضمینه PHP و MySQL اطلاعات دارم و اسکریپت هایی رو هم نوشتم.
مشکل بنده در قسمت Android بود که اون هم با آموزش این تاپیک (http://barnamenevis.org/showthread.php?457283-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%D8%A7%D8%AE%D8%AA-%D9%88%D8%A8-%D8%B3%D8%B1%D9%88%DB%8C%D8%B3-%D9%88-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF) دارم درست میکنم !!
AliRezaBeytari
جمعه 24 بهمن 1393, 17:55 عصر
ببخشید دوستان ، اما من هنوز نتونستم مشکلم رو حل کنم !
اون طوری هم که من متوجه شدم و گشتم ، Jsoup هم به درد کار من نمیخوره !!
اگر میشه یه نمونه کدی چیزی قرار بدید !!!
خیلی خیلی ممنونم.
dalmif
جمعه 24 بهمن 1393, 19:19 عصر
دوست عزیز سلام.
چرا چیزی که من میگم رو پیگیر نشدی.
من خودم خیلی با هاش کار کردم و جواب هم داد.
با همون لینکی که بهت دادم کار کن مطمئن باش درست میشه
AliRezaBeytari
شنبه 25 بهمن 1393, 21:00 عصر
دوست عزیز سلام.
چرا چیزی که من میگم رو پیگیر نشدی.
من خودم خیلی با هاش کار کردم و جواب هم داد.
با همون لینکی که بهت دادم کار کن مطمئن باش درست میشه
میشه دقیقا بگید کدوم قسمت از اون آموزش ، درمورد این مبحث صحبت کرده ؟؟؟!!!!
AliRezaBeytari
چهارشنبه 29 بهمن 1393, 14:44 عصر
up.............
s3rv3r
چهارشنبه 29 بهمن 1393, 18:57 عصر
الان مشکلت روش پست کردنه؟ یا دسترسی به صفحه دیگه بعد از لاگین؟
برای پست نمونه فراونه
HttpPost httpost
برای دسترسی به صفحه دیگه با لاگین هم باید کوکی که موقع لاگین شدن ساخته میشه رو بگیری و تو درخواست بعدی ارسال کنی
httppost.getCookieStore().getCookies();
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.