في الواقع ، من الأصح تسمية المقالة "كيف تحصل على نقاط في المنافسة للفوز بثلاجة RedBull كاملة". بالمناسبة ، لدينا بالفعل مثل هذه الثلاجة مع المشروبات في مكتبنا.
عندما تم توصيل العصائر والمشروبات الغازية وغيرها من المشروبات إلى المكتب مرة أخرى ، وجدت نشرة تعلن عن المنافسة ، وكان جوهرها إكمال اللعبة وسيفوز الفائز بثلاجة لمشروبات الطاقة.الثلاجة الثانية لن تؤذينا - لقد قمنا للتو بالتوسع ، ولدينا غرف مكتب جديدة. لذلك اتبعت الرابط وقررت أن أجرب حظي ، وكانت محاولتي فاشلة وانتهى بي المطاف في مكان ما في نهاية التقييم. كانت اللعبة أن تمر عبر عدة مستويات من المتاهة في أسرع وقت ممكن.الآن تحتاج إلى ارتداء النظارات الشمسية ، وتشغيل الشبكات الافتراضية الخاصة ، وجميع أنواع الوكلاء ، إلخ.دعونا ننكب على العمل
مع العلم تمامًا أن أي لعبة على الويب هي سلسلة من الطلبات ، ومعرفة سوق التطوير ، حيث يوجد العديد من الهواة ، قررت أن أجرب حظي في الاتجاه الآخر وفجأة أتعثر في الثغرات في اللعبة. ليس لأنني بحاجة إلى هذه الثلاجة كثيرًا ، فقد حصلت على اهتمام رياضي.http://redbull.ru/work سنتتبعالطلبات في المتصفح ، وبعد ذلك سنحاول إرسال نفس الطلبات ، ولكن مع القيم المتغيرة.
الخطوة الأولى هي طلب لبدء اللعبة:https://rb-prjct-crtns-gamebackend-eu.herokuapp.com/api/high-scores/games/8970c40a-98f0-4395-85c8-66177fb38af0/runs
في الوقت نفسه ، نلاحظ في الرابط id = 8970c40a-98f0-4395-85c8-66177fb38af0
.في بعض الأحيان نقوم بتحديث الصفحة في المتصفح ، ويتم فتحها من عنوان IP مختلف وفي متصفح آخر ، لا تتغير هذه المعلمة ، ونفترض أن هذا هو معرف ثابت للعبة.نلاحظ أيضًا أنه في معلمات رأس نوع البياناتaccept:
application/vnd.api+json
استجابة لهذا الطلب نحصل على الجواب:
{
"data":{
"attributes":{
"finished_at":null,
"game_day":114,
"game_week":17,
"score":null
},
"id":"4f89d56d-884e-42e8-909d-d1e7547cc1d8",
"links":{
"self":"https://rb-prjct-crtns-gamebackend-eu.herokuapp.com/runs/4f89d56d-884e-42e8-909d-d1e7547cc1d8"
},
"relationships":{},
"type":"runs"
},
"included":[],
"links":{
"self":"https://rb-prjct-crtns-gamebackend-eu.herokuapp.com/runs/4f89d56d-884e-42e8-909d-d1e7547cc1d8"
}
}
في الجواب ، يمكنك ملاحظة سمات مختلفة وأخرى id = 4f89d56d-884e-42e8-909d-d1e7547cc1d8
، والتي يبدو أنها معرفنا الشخصي للعبة.نبدأ اللعبة.
نحن نراقب الطلبات. نرى أنه لا يظهر شيء جديد ، أي أنه لا توجد مراحل لتمرير مشغل اللعبة. فقط في حالة التحقق ، ربما يكون هناك شيء ما على مقابس الويب - وهو أيضًا فارغ هناك.
في نهاية المباراة ، نحن في مكان ما في الترتيب ، لكننا لسنا أول من يحزن للغاية. الى الان.نحن ننظر إلى وحدة التحكم ونرى أنه تم إرسال طلبين آخرين ، ولكن أحدهما كان لتلقي المقالات ، والآخر للحصول على تصنيف اللاعبين. هناك القليل من المفيد هنا ، نتذكر تصنيف المركز الأول - 61454667.انقر على الزر لحفظ النتيجة.
تم إرسال طلب url آخرhttps://rb-prjct-crtns-gamebackend-eu.herokuapp.com/api/high-scores/games/8970c40a-98f0-4395-85c8-66177fb38af0/runs/4f89d56d-884e-42e8-909d-d1e7547cc1d8/submit
مع المعلمات{
"data":{
"id":"8970c40a-98f0-4395-85c8-66177fb38af0",
"type":"runs",
"attributes":{
"score":11041900
}
}
}
يصبح من الواضح أن الرابط يتكون من المعرف الثابت للعبة ومعرف جلستنا. في المعلمات ، يتم نقل الحساب ، والذي سيتم حفظه من قبلنا والمشاركة في التصنيف.
في المرحلة التالية ، تفتح صفحة ذات نموذج ، والتي يتم تحميلها في iframe. نلاحظ أن معرف جلستنا متضمن في الرابط:https://redbull.jotform.com/93071907238864&runid=4f89d56d-884e-42e8-909d-d1e7547cc1d8&runscore=11041900&redirect=https://maze.redbull.com
بعد إرسال النموذج ، نتلقى تأكيدًا.
نكرر الآن جميع الطلبات نفسها ، ولكن ليس من خلال المتصفح.سأستخدم Postman.نرسل طلبhttps://rb-prjct-crtns-gamebackend-eu.herokuapp.com/api/high-scores/games/8970c40a-98f0-4395-85c8-66177fb38af0/runs
تلقى الجواب:{
"data": {
"attributes": {
"finished_at": null,
"game_day": 114,
"game_week": 17,
"score": null
},
"id": "f95dad7c-eecf-4d3a-88e9-a32661a484e4",
"links": {
"self": "https://rb-prjct-crtns-gamebackend-eu.herokuapp.com/runs/f95dad7c-eecf-4d3a-88e9-a32661a484e4"
},
"relationships": {},
"type": "runs"
},
"included": [],
"links": {
"self": "https://rb-prjct-crtns-gamebackend-eu.herokuapp.com/runs/f95dad7c-eecf-4d3a-88e9-a32661a484e4"
}
}
الأهم هناid = f95dad7c-eecf-4d3a-88e9-a32661a484e4
الآن شكل رابطًا للحصول على التصنيف. سنحتاج إلى معرف جلسة العمل والنتيجة التي ستكون أكثر من الرقم القياسي الحالي 61454667. للحصول على علم الجمال ، خذ الرقم الأول من الرقم 2 * pi ، أكثر بقليل من الرقم القياسي.ارسل طلبhttps://rb-prjct-crtns-gamebackend-eu.herokuapp.com/api/high-scores/games/8970c40a-98f0-4395-85c8-66177fb38af0/runs/f95dad7c-eecf-4d3a-88e9-a32661a484e4/leaderboard?score=62831853&filter[interval]=none
في الجواب نرى أننا بالفعل الأول في القائمة ، الآن سنحفظ النتيجة.سوف نرسل طلب إلىhttps://rb-prjct-crtns-gamebackend-eu.herokuapp.com/api/high-scores/games/8970c40a-98f0-4395-85c8-66177fb38af0/runs/f95dad7c-eecf-4d3a-88e9-a32661a484e4/submit
في هذا الطلب ، من المهم تحديد سمات الرؤوس.
ممتاز! كل شيء سار على ما يرام ، تلقى تأكيدا للنتيجة. الآن تحتاج إلى إرسال تفاصيل الاتصال حتى اتصل بنا RedBull.للقيام بذلك ، ما عليك سوى فتح رابط في المتصفح مع النموذج بمعرف الجلسة.https://redbull.jotform.com/93071907238864&runid=f95dad7c-eecf-4d3a-88e9-a32661a484e4&runscore=61454667&redirect=https://maze.redbull.com
املأ الاستمارة.نحن نرسل.
نحصل على تأكيد!انتهت المسابقة بالفعل ، واستمرت حتى 31 يناير 2020.PS في وقت النشر ، تم الانتهاء من السحب ، خلال الحملة التي لم نشارك فيها ، لم ندعي النصر. جميع الأوصاف هي لأغراض إعلامية فقط. لم يتم اتباع أي قيم تجارية أو غيرها من خلال هذه الإجراءات.