PDA

View Full Version : ارتباط با اسکریپت بدون API ؟



myumyu
دوشنبه 11 اسفند 1393, 20:02 عصر
سلام
یه اسکریپت تحت وب (php) برای برنامه کلاسی دانشگاه هستش که متاسفانه اکثر بچه ها باهاش مشکل دارن ...
خوب من میخوام یه برنامه ی اندروید برای راحتی کار بچه ها بنویسم .
اما متاسفانه شرکتی که برنامه کلاسی رو پیاده کرده اصلا همکاری نمیکنه و میگه به ما مریوط نیست ... ، اما مسول برنامه ریزی دانشگاه گفته با ما همکاری میکنه ، و به یه محیطی مثل مدیریت وردپرس دسترسی داره که برنامه کلاسی رو مدیریت کنه ...

به نطرتون راهی هست که بدون api های لازم به دیتابیس دسترسی داشت ؟(مثلا از طریق text box های سایت اصلی و .... )

مسول اموزش میتونه کمکی بکنه ؟

ممنون میشم اگه راهنمایی کنید

Tarragon
دوشنبه 11 اسفند 1393, 20:17 عصر
سلام
در رابطه با curl تحقیق کنید و با ترکیبش کردن اون با dom parser می تونید کاری که می خواهید رو انجام بدید.

us1234
دوشنبه 11 اسفند 1393, 20:23 عصر
سلام
یه اسکریپت تحت وب (php) برای برنامه کلاسی دانشگاه هستش که متاسفانه اکثر بچه ها باهاش مشکل دارن ...
خوب من میخوام یه برنامه ی اندروید برای راحتی کار بچه ها بنویسم .
اما متاسفانه شرکتی که برنامه کلاسی رو پیاده کرده اصلا همکاری نمیکنه و میگه به ما مریوط نیست ... ، اما مسول برنامه ریزی دانشگاه گفته با ما همکاری میکنه ، و به یه محیطی مثل مدیریت وردپرس دسترسی داره که برنامه کلاسی رو مدیریت کنه ...

به نطرتون راهی هست که بدون api های لازم به دیتابیس دسترسی داشت ؟(مثلا از طریق text box های سایت اصلی و .... )

مسول اموزش میتونه کمکی بکنه ؟

ممنون میشم اگه راهنمایی کنید

اگر دسترسی سرور دارید مستقیم بروید سراغ دیتابیس سیستم .

یکسری عملیات های خاص ( مثلا ارسال پیامک و ارسال ایمیل یا مواردی اینچنینی را از دست می دهید که باید شبیه سازی کنید ) ولی کار خیلی راحتر از کار کردن با html و html parser خواهد بود .

myumyu
دوشنبه 11 اسفند 1393, 21:49 عصر
سلام
در رابطه با curl تحقیق کنید و با ترکیبش کردن اون با dom parser می تونید کاری که می خواهید رو انجام بدید.

ممنون بابت پاسختون .
ولی یه مشکلی هست که سایت خیلی از اژاکس و جاوا اسکریپت , css استفاده کرده جوری که فقط تو اینترنت اکسپلورر 11 و فایرفاکس درست نمایش داده میشه .(و اطلاعات اصلی هم به صورت pop-up باز میشه)
استخراج اطلاعات از طریق pars کردن tag ها یه جورایی خیلی سخت میشه ...
دسترسی مستقیم به سرور هم نداریم ، سرور اصلی تهرانه ...

راه دیگه ای به ذهنتون میرسه ؟

us1234
دوشنبه 11 اسفند 1393, 22:13 عصر
ممنون بابت پاسختون .
ولی یه مشکلی هست که سایت خیلی از اژاکس و جاوا اسکریپت , css استفاده کرده جوری که فقط تو اینترنت اکسپلورر 11 و فایرفاکس درست نمایش داده میشه .(و اطلاعات اصلی هم به صورت pop-up باز میشه)
استخراج اطلاعات از طریق pars کردن tag ها یه جورایی خیلی سخت میشه ...
دسترسی مستقیم به سرور هم نداریم ، سرور اصلی تهرانه ...

راه دیگه ای به ذهنتون میرسه ؟

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

و باید روی مورد اول کار کنید .
ای جکس ، پاپ آپ و یا هر چی دیگه هم که زده باشه آخرش مرتبط میشه به php کد ها که باید شما رابطه اصلی را پیدا کنید که اذعان می کنم کاری بسیار سخت و مشقت باری در پیش دارید . ( خدا بهتون صبر بده :لبخندساده: )

Mohammadsgh
دوشنبه 11 اسفند 1393, 22:16 عصر
درود
amin0256 راست میگه با همون ابزارها میشه انجام داد.دیگه از سایت بورس که بهتر نیست؟؟؟این تابع هم فراموش نکنید
file_get_contents

myumyu
دوشنبه 11 اسفند 1393, 22:41 عصر
مرسی دوستان ... :ناراحت:
یه سوال دیگه ...
ممکنه شرکت اصلی ip ها رو بلاک کنه ؟ یا ساختار دیتابیس رو عوض کنه ؟
یا به عبارتی دست و بالمون رو ببنده ؟
این شرکت هم ماشالله هیچ جور با ما راه نمیاد ، حتی دسترسی --r هم نمیده ...

Tarragon
سه شنبه 12 اسفند 1393, 12:41 عصر
سلام
خیلی احتمالش کمه! ساختار دیتابیس تاثیری نداره اما ممکنه ساختار html رو تغییر بده که باید شما هم کدتون رو تغییر بدید.
راه نیاد، مهم نیست!
هیچ کاری نمی تونه بکنه پس شما شروع کنید!

freeman99
سه شنبه 12 اسفند 1393, 20:30 عصر
فایرفاکس بصورت ریل تایم نشون میده که چه درخواستهایی با چه پارامتر و جزییاتی به کدوم آدرسها ارسال میشن و در پاسخ چه چیزی دریافت میشه. با این امکان میتونید منابع و آدرسهای پشت پرده رو بررسی کنید و درخواستها رو شبیه سازی کنید. البته به این راحتی هم نیست و بقول بقیه، احتمالا کار خسته کننده ای در پیش دارید، ولی اگر وارد باشید اونقدرها هم نباید سخت باشه.
این مهم نیست که شونصد لایه ایجکس وجود داره و آدرسهای عجیب و غریب و ناشناخته بصورت دینامیک توسط جاوااسکریپت ساخته میشن تا یه محتوایی لود بشه. در نهایت بطور معمول یه آدرس و فرمت درخواست خاصی برای هر چیزی وجود داره که کافیه اون رو پیدا کنید. البته گاهی هم ممکنه کار پیچیده تر باشه و مثلا نیاز به چند درخواست و چند مرحله باشه، یا ممکنه عمدا این کار رو بکنن که کار مهندسی معکوس و استفاده از برنامه های دیگر و روبات ها رو دشوار بکنه (ولی بعید میدونم چون اینطوری کار برای خودشون هم سخت میشه).

من میخواستم یه برنامه برای کنترل مودم ADSL بنویسم با همین روش کار کردم و با فایرفاکس درخواستها و آدرسها و فرمت و متغییرهایی رو که در کنترل پنل مودم ارسال میشدن پیدا کردم.
یه روبات هم برای رجیستر کردن در یه سایتی نوشتم (یه فروم ویبالتین) که بازم از همین بند و بساط ها استفاده کردم. نکتش اینکه، شما اول سعی میکنید درخواست رو بطور کامل شبیه سازی کنید، مثلا میبینی 10 تا متغییر در درخواست ارسال میشه، بعد اگر کار کرد میای و حدس و بررسی و تست میکنی که به احتمال زیاد از این 10 تا متغییر تعدادی غیرضروری هستن و میتونی اونا رو حذف کنی و برنامه رو ساده تر و خواناتر کنی. معمولا از این دست پارامترها زیاد هست و عملا پارامترهای ضروری/کاربردی تعداد خیلی کمتری هستن؛ مثلا میبینی 10 تا متغییر آخرش میشه 5 تا! همینطور درمورد هدرهای HTTP هم اغلب به اکثرشون نیازی نیست که دقیقا شبیه سازی بشن، ولی هدر user_agent رو میتونید بخاطر stealth هم که شده شبیه سازی کنید و مثلا هدر یک مرورگر مثل فایرفاکس رو در تمام درخواستها ارسال کنید که طرفها یوقت از روی لاگ و دیدن فرمت غیرعادی درخواستها متوجه کار شما نشن و جلوتون رو نگیرن! البته از راههای دیگه هم ممکنه متوجه بشن، ولی معمولا user_agent تابلوترین و پرکاربردترین در این زمینه است.

myumyu
سه شنبه 12 اسفند 1393, 21:43 عصر
اقا کلنگ پروژه زده شد :چشمک:
البته اول برم یه خورده با curl کار کنم تا یه چیزایی دستگیرم شه ...
دم همتون گرم ... کمک خواستم بازم مزاحمتون میشم ...