صور Imgur لا تُدرج مع خطأ 429

تنزيل الصور عن بُعد محليًا معطل فقط.

إعجاب واحد (1)

هل تم ضبطه دائمًا؟ ماذا لو قمت بإعادة بناء HTML للمشاركات التي تحتوي على صور Imgur؟

أوه! وهل الخطأ في Discourse وليس في متصفحك المحلي؟

نعم.

يحدث ذلك مبكرًا في محرر المشاركات، عند لصق رابط Imgur يحاول إنشاء Onebox في معاينة المشاركة ولكنه يفشل مع خطأ oneboxed 429 الذي يحقنه Discourse في معاينة المشاركة.

على حد فهمي، يحاول خادم Discourse الخاص بي أولاً التحقق من صحة عنوان URL للصورة العارية ويصل إلى Imgur، والذي بدوره رفض في النهاية نطاق / IP الخاص بخادمي بسبب العديد من الطلبات. ثم يفشل Discourse في تغليف عنوان URL بعلامات <img> لأنه لم يتمكن من التحقق من صحة الصورة، ويترك عنوان URL العاري في المشاركة.

حتى الآن، يبدو أن المشكلة قد تم حلها على خادمي، أي أن Imgur قد أزال حد المعدل، في الوقت الحالي. أنا متأكد من أنها لن تكون المرة الأخيرة، لذا تظل هذه المشكلة قائمة.

آه! فهمت. إذن أعتقد أنك بحاجة إلى إضافة (plugin) أو ربما مكون سمة (theme component) سيتعامل مع تلك الصور دون إرسال الطلب.

مرحباً، أنا أستخدم ترجمة جوجل لفهم المحادثة، لكنها لم تكن واضحة بالنسبة لي (ربما تكون ترجمة بدون معنى حرفي) كيف حللت المشكلة؟

لا يوجد حل حتى الآن. يقوم Imgur بحظر Discourse من عرض معاينة الصورة، ولا يتعامل Discourse بشكل صحيح مع هذا الخطأ ويفشل في إنشاء HTML المناسب لعرض الصورة.

كحل بديل:

إعجاب واحد (1)

ما هي لغتك الأم حتى أتمكن من ترجمة هذا الجزء من المحادثة؟

لست متأكدًا من سبب إشارتك إلى أن Discourse مسؤول عن التعامل مع خطأ لأن Imgur يحظر الصور. هذا شيء خاص بـ Imgur، وليس ضعفًا وظيفيًا أو خطأ في Discourse. يبدو أنك قد تحتاج إلى إضافة مكون إضافي للتعامل مع هذا إذا كنت بحاجة إلى صور Imgur.

3 إعجابات

يجب أن يظل Discourse يولد HTML صالحًا لعرض الصورة. يرمي Imgur خطأ 429 عندما يحاول خادم Discourse سحب معاينة لرابط الصورة، لكن Discourse يعامله كما لو كان خطأ 404. في منتدى الخاص بي، لا يتم عرض هذه الصورة بعنوان URL فقط:
https://i.imgur.com/eHltaVt.jpeg
ولكن HTML التالي يعمل لعرض الصورة:
<img src="https://i.imgur.com/eHltaVt.jpeg">
هذا ما يجب أن يولده Discourse للمنشور المخبوز حتى لو تلقى 429 عندما يصل الخادم إلى عنوان URL، ويجب عليه فقط ترك عنوان URL العاري إذا حصل على خطأ 404.

إعجابَين (2)

لا تزال هذه المشكلة تؤثر على منتدى Discourse الخاص بي.
@community-moderators هل من الممكن نقل هذا إلى #bug، أو نسخ آخر مشاركة في موضوع جديد؟ (بالطبع يمكنني القيام بذلك بنفسي أيضًا إذا كنت تعتقد أن هذا هو الأفضل.)

إعجابَين (2)

يشير ذلك إلى أن خادمك قد تم تقييده بمعدل ولا يمكنه الحصول على صور من imgur. الروابط إلى الصور تقلق لأنها يتم استردادها بواسطة المستخدم وليس خادمك.

إعجابَين (2)

يتم تحديد معدل الخادم بالفعل عند اختباره لرابط Imgur ومحاولة تحويله إلى Onebox. ولكن لا يوجد ما يمنع المستخدمين الأفراد من عرضه عندما يكون الرابط مغلفًا بشكل صحيح في علامات \u003cimg\u003e. المشكلة هي أن Discourse يفترض أن الرابط ليس صورة قابلة للعرض لجميع المستخدمين بينما في الواقع هي مشكلة للخادم فقط، وهي تقوم فقط بتغليف عنوان URL الخاص بـ Imgur في علامات \u003ca\u003e.

إعجابَين (2)

لست متأكدًا من أنه يمكن تصنيفه كخطأ على الرغم من أنني أتفهم الإزعاج :thinking:
إذا اكتشفت أن هذه هي المشكلة بالفعل، فأنا أدعوك لنشر موضوع جديد مع وصف مناسب للمشكلة في Feature وانظر كيف تسير الأمور :slight_smile:

إعجابَين (2)

شكرا @Canapin .

إعجابَين (2)

استخراج هذا
لدينا نفس المشكلة مع Imgur، التضمين لا يعمل.
في معاينة المنشئ، تظهر رسالة الخطأ التالية:

عذرًا، لم نتمكن من إنشاء معاينة لصفحة الويب هذه، لأن خادم الويب أعاد رمز خطأ 429. بدلاً من المعاينة، سيظهر رابط فقط في منشورك.

رابط مثال: How To: Quickstop - Tuning and Riding - pev.dev (مرر إلى أسفل المنشور الأول)

مرحباً @anon36484860 :slight_smile:

يبدو أن منشورك يناسب هذا الموضوع بشكل أفضل، لذا قمت بنقله. :+1:

إعجاب واحد (1)

هل وجد أحد حلاً لهذه المشكلة؟

ما زلت أواجهها في منتديي.

لم يتغير شيء حقًا، لا يزال imgur يحظر التضمين ويعيد نفس الخطأ 429، و giphy مع 100 طلب في الساعة عندما ينمو الخادم تحدث أشياء مملة.
Imgur ذهب، redgif ذهب، تضمين reddit ذهب، كل لوحات الصور تحد من نفسها والإنترنت يموت شيئًا فشيئًا.
إذًا، هل هناك أي حل؟ أعتقد لا.

يبدو هذا بمثابة نهاية حزينة، لكنني لا أعتقد أن هذا الموضوع سيصل إلى أي مكان، لذلك سأقوم بإغلاقه. يرجى بدء مواضيع جديدة حول هذا الأمر، أو وضع علامة لإعادة فتحه إذا حدث أي تغيير في مشكلة imgur 429.

إعجاب واحد (1)