برنامج Charles Proxy على الماك عبارة عن HTTP Debugging Proxy يسمح لك تشوف الـ HTTP Requests بينك وبين السيرفر. يعني لو مهتم تعرف الـ API Calls اللي يستخدمها اي تطبيق (بعض التطبيقات وليس جميعها)، هذا البرنامج راح يفيدك.
الشرح في التغريدات الجاية??
charlesproxy.com
الشرح في التغريدات الجاية??
charlesproxy.com
تشارلز بروكسي متوفر على الايفون ايضا. لو مهتم بنسخه الايفون (ولو انك ما تحتاجها ونسخة الماك راح تكفيك) اشتريها من الان لانه احتمال ابل تشيله من الستور بحكم بعض التغييرات في سياستهم واللي راح تأثر كمان على اغلب التطبيقات اللي تعمل بلوك للاعلانات.
itunes.apple.com
itunes.apple.com
هذا فيديو للخطوات
بعد حفظ التغييرات افتح متصفح سفاري على الايفون وروح للرابط التالي:
charlesproxy.com
راح تجيك الرسالة التالي واللي راح تحمل SSL CA Certificate على جوالك.
اظغط على Allow وبعدها Install.
شوف الخطوات
charlesproxy.com
راح تجيك الرسالة التالي واللي راح تحمل SSL CA Certificate على جوالك.
اظغط على Allow وبعدها Install.
شوف الخطوات
راح اوقف هنا شوية لاني خارج من البيت.
نشوفكم بعد كم ساعة في الجزء الثاني والاهم ?
نشوفكم بعد كم ساعة في الجزء الثاني والاهم ?
بعد كذا تاكد انك عامل اعدادات البروكسي في الايفون مثل ما شرحت في التغريدات السابقة.
خلينا نجرب اول شي على اي موقع نشغله.
ادخل من الايفون على موقع SoundCloud.com
وشغل اي مقطع صوتي تلاقيه قدامك
خلينا نجرب اول شي على اي موقع نشغله.
ادخل من الايفون على موقع SoundCloud.com
وشغل اي مقطع صوتي تلاقيه قدامك
الان تاكد عندك في تطبيق تشارلز انك مختار Structure مثل الصورة. هذه طريقة عرض اسهل ترتب لك كل الريكويستات حسب الدومين.
اللي يهمنا هنا الان هو الدومين api.soundcloud.com
واللي محدد عليه بالصورة
اللي يهمنا هنا الان هو الدومين api.soundcloud.com
واللي محدد عليه بالصورة
الان قدرنا نجيب الـclient_id حق الساوندكلاود.. مممم طيب كيف ممكن نستخدمه؟
علشان تستخدمه عندك حلين:
١- تراقب التطبيق وتستخدم كل شي المزايا فيه وتحلل كل الريكويستات اللي طالعه منه وتفهمها وبعد كذا تقدر تستخدمها.
٢- اذا كان التطبيق عنده API مفتوح للمطورين.. خير وبركة، نروح نقراه
علشان تستخدمه عندك حلين:
١- تراقب التطبيق وتستخدم كل شي المزايا فيه وتحلل كل الريكويستات اللي طالعه منه وتفهمها وبعد كذا تقدر تستخدمها.
٢- اذا كان التطبيق عنده API مفتوح للمطورين.. خير وبركة، نروح نقراه
هذا رابط فيه ككل Resources الخاصة بالـAPI وشرح كيف تستخدمها.
لو بنعمل بحث على اسم اغنية مثلا، راح نستخدم /tracks
شوف الصورة وحاول تفهمها وبعدها نكمل.
developers.soundcloud.com
لو بنعمل بحث على اسم اغنية مثلا، راح نستخدم /tracks
شوف الصورة وحاول تفهمها وبعدها نكمل.
developers.soundcloud.com
الان بعد ما شفت الصورة، لاحظ في الصورة فيه رابط يوضح لك كيف تستخدم الريسورس اللي هو tracks
"api.soundcloud.com"
ملاحظة: تقدر تسجل في الموقع كمطور وتاخذ client_id خاص فيك. لكن فيه قيود من حيث عدد الطلبات في الساعه او اليوم (ماني متذكر) بالاضافة، حاليا التسجيل موقف ?
"api.soundcloud.com"
ملاحظة: تقدر تسجل في الموقع كمطور وتاخذ client_id خاص فيك. لكن فيه قيود من حيث عدد الطلبات في الساعه او اليوم (ماني متذكر) بالاضافة، حاليا التسجيل موقف ?
احنا حاولنا نلعب شوية في الموقع ونشوف الريكويستات اللي طالعه من الجوال للموقع وقدرنا نوصل للـ client_id حقهم اللي هم يستخدموه و ماعليه قيود.
الان لو تلاحظ في شرح الـAPI فيه باراميتر اسمه q وبجنبه وصف يقول ادخل النص اللي تبحث عنه.
فراح نعدل على الرابط ونضيف اللي نبغاه...
الان لو تلاحظ في شرح الـAPI فيه باراميتر اسمه q وبجنبه وصف يقول ادخل النص اللي تبحث عنه.
فراح نعدل على الرابط ونضيف اللي نبغاه...
هذا الرابط بعد التعديل
"api.soundcloud.com"
لاحظ اني ببحث عن كلمة better now وا بين الكلمتين %20 وهذه لها علاقه بالـ URL Encoding (انا ما حطيت الـclient_id كامل تجنبا للمشاكل ?).
حط الرابط بالمتصفح واضغط انتررررر، بتلاقي نتائج مثل الصورة
"api.soundcloud.com"
لاحظ اني ببحث عن كلمة better now وا بين الكلمتين %20 وهذه لها علاقه بالـ URL Encoding (انا ما حطيت الـclient_id كامل تجنبا للمشاكل ?).
حط الرابط بالمتصفح واضغط انتررررر، بتلاقي نتائج مثل الصورة
ناخذ رابط الستريم ونضيف عليه الـ client_id اللي اخذناه
وراح يصير بهذا الشكل
"api.soundcloud.com"
لاحظ انك لو دخلت عالرابط من المتصفح، راح يشتغل معاكلف الصوت من غير مشاكل.
لكن فعليا اللي بيصير هو ان السيرفر راح يرجع لك رسالة خطا 302 Moved Temporarily
وراح يصير بهذا الشكل
"api.soundcloud.com"
لاحظ انك لو دخلت عالرابط من المتصفح، راح يشتغل معاكلف الصوت من غير مشاكل.
لكن فعليا اللي بيصير هو ان السيرفر راح يرجع لك رسالة خطا 302 Moved Temporarily
الصورة السابقة، انا مستخدم Paw واللي هو عبارة عن API Tool وسبق انس تكلمت عنه في هذه التغريدات
لو بتنادي هذا الـAPI عن طريق التطبيق وما تعاملت مع هذا الانواع من الاخطاء، ما راح تقدر توصل لملف الصوت. الطريقة اللي تحل فيها او تتعامل فيها مع هذا الخطأ شي راجع لك. لكن، احنا وصلنا اول لـ API يجيب لما روابط التحميل للملف. ولعلمك هذا الـAPI ماهو موجود بموقع ساونكلاود!!!
يعني وصلنا لـAPI سري للغاية ?
لاحظ ان الفرق بين رابط الستريم والرابط اللي وصلنا له هو حرف الـs فقط!
streams?client_id
و
stream?client_id
الفرق بسيط لكن ما كنت راح تعرف عن هذا الـAPI لو ما طلعناه بشوية لف ودوران!
لاحظ ان الفرق بين رابط الستريم والرابط اللي وصلنا له هو حرف الـs فقط!
streams?client_id
و
stream?client_id
الفرق بسيط لكن ما كنت راح تعرف عن هذا الـAPI لو ما طلعناه بشوية لف ودوران!
هيا خلينا نستخدم الـAPI اللي اخذناه اول (السري للغاية ?) ونحط الـid الخاص بملف الصوت اللي بحثنا عنه واخترناه واللي هو 434757993
وبالتالي بيصير عندنا الرابط هذا
"api.soundcloud.com"
وبتطلع معانا هذه النتائج واللي هي روابط مباشرة لملف الصوت ??
وبالتالي بيصير عندنا الرابط هذا
"api.soundcloud.com"
وبتطلع معانا هذه النتائج واللي هي روابط مباشرة لملف الصوت ??
كذا عرفنا كيف نستخدم تطبيق تشارلز على الماك ونخليه بروكسي بحيث يتصل عن طريقه الايفون وبالتالي نقدر نعرف كل الريكويستات اللي طالعه من الايفون.
طبعا في الايفون، لو فتحنا تطبيق يستخدم API، راح نقدر نعرف كل الريكويستات اللي طالعه من التطبيق الا في حالة واحدة!
طبعا في الايفون، لو فتحنا تطبيق يستخدم API، راح نقدر نعرف كل الريكويستات اللي طالعه من التطبيق الا في حالة واحدة!
واللي هي ان التطبيق يستخدم طريقه اسمها SSL Pinning بحيث يطابق الـSSL Certificate اللي موجودة عنده بالشهادة الموجودة عالسيرفر في بداية مرحلة الاتصال بينه وبين السيرفر. ولو ما تطابقت الشهادة، ما راح يكمل الريكويست. يعني بيقفل الاتصال.
تنويه، اكيد في اخطاء املائية وحمل غير منطقية بسبب اني اكتب واعدل وما اراجع ?
بالنسبة للروابط وبحكم ان تويتر ما يظهرها كاملة، اصغط عليه وانسخها والصقها في المتصفح او اي Text Editor او في النوتس علشان تشوفها بشكل اوضح
@Rattibha ??
جاري تحميل الاقتراحات...