سؤال

أحاول تحميل ملف PDF إلى موقع ويب باستخدام نظام إدارة محتوى Hot Banana باستخدام برنامج Python النصي.لقد قمت بتسجيل الدخول بنجاح إلى الموقع ويمكنني تسجيل الخروج، ولكن يبدو أنه لا يمكنني تشغيل تحميلات الملفات.

يعد تحميل الملف جزءًا من نموذج ويب كبير ومعقد يرسل بيانات النموذج وملف PDF من خلال POST.باستخدام Firefox مع ملحقات Firebug وTamper Data، ألقيت نظرة خاطفة على ما كان يرسله المتصفح في POST وإلى أين كان يتجه.أعتقد أنني قمت بمحاكاة البيانات التي كان المتصفح يرسلها في الكود، ولكنني مازلت أواجه مشكلة.

أقوم باستيراد ملف تعريف الارتباط للتعامل مع ملفات تعريف الارتباط، وملصق لتشفير ملف PDF، وurllib وurllib2 لإنشاء الطلب وإرساله إلى عنوان URL.

هل من الممكن أن يؤدي تسجيل افتتاحيات الملصقات إلى إعاقة افتتاحيات معالج ملفات تعريف الارتباط؟هل أفعل هذا خطأ تماما؟


يحرر:ما هي الطريقة الجيدة لتصحيح العملية؟في الوقت الحالي، أقوم فقط بتفريغ استجابة urllib2 لملف نصي وفحص المخرجات لمعرفة ما إذا كانت تتطابق مع ما أحصل عليه عندما أقوم بتحميل ملف يدويًا.

تحرير 2:اقترح كريس ليفلي أن أقوم بنشر الخطأ الذي أتلقىه.الاستجابة من urllib2 لا تولد استثناءً، ولكنها ترجع فقط:

<script>
    if (parent != window) { 
        parent.document.location.reload(); 
    } else { 
        parent.document.location = 'login.cfm'; 
    }
</script>

سأستمر في ذلك.

هل كانت مفيدة؟

المحلول

"ما هي الطريقة الجيدة لتصحيح أخطاء عملية [خدمات الويب]؟"

في الوقت الحالي، أقوم فقط بتفريغ استجابة urllib2 لملف نصي وفحص المخرجات لمعرفة ما إذا كانت تتطابق مع ما أحصل عليه عندما أقوم بتحميل ملف يدويًا.

صحيح.هذا كل ما هنالك.

HTTP هو بروتوكول بسيط للغاية - تقوم بتقديم طلب (POST، في هذه الحالة) ويستجيب الخادم.لا يوجد الكثير من الأشياء الأخرى ولا يمكنك فعل الكثير أثناء تصحيح الأخطاء.

ماذا تريد؟بجد.ما هو نوع مصحح الأخطاء الذي تتخيل أنه قد يكون موجودًا لهذا النوع من البروتوكول عديم الجنسية؟

نصائح أخرى

وهناك أداة مثل يريشارك سوف اعطيكم تتبع أكثر اكتمالا في مستوى أقل بكثير من فايرفوكس الإضافات.

وفي كثير من الأحيان هذا يمكن أن يكون شيء بسيط مثل عدم تحديد نوع المحتوى بشكل صحيح، أو عدم تشمل طول المحتوى.

هل يمكن أن يكون أفضل حالا instrumenting الخادم لمعرفة لماذا هذا الفشل، بدلا من محاولة تصحيح هذا على جانب العميل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top