لا تعمل مكالمة Python Urllib.urlopen () بعنوان URL الذي يقبل المستعرض

StackOverflow https://stackoverflow.com/questions/1335439

  •  20-09-2019
  •  | 
  •  

سؤال

إذا أشر إلى فايرفوكس في http://bitbucket.org/tortoisehg/stable/wiki/home/releasenotes., ، أحصل على صفحة من HTML. ولكن إذا حاولت هذا في بيثون:

استيراد موقع Urllib = 'http://bitbucket.org/tortoisehg/stable/wiki/home/releasenotes' req = orllib.urlopen (الموقع) النص = req.read ()

أحصل على ما يلي:

500 خطأ خادم داخلي واجه الخادم خطأ داخليا أو خطأ في التفكير ولم يتمكن من إكمال طلبك.

ما الخطأ الذي افعله؟

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

المحلول

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

يجب عليك ملء مشكلة فيما يتعلق بهذا: http://bitbucket.org/jespern/bitbucket/issues/new/

نصائح أخرى

أنت لا تفعل شيئا خاطئا، على السطح، وكما تقول صفحة الخطأ، يجب عليك الاتصال بمسؤولي الموقع لأنهم هم الذين لديهم سجلات الخادم التي قد تفسر ما يحدث. لحسن الحظ، مدراء موقع Bitbucket هو حفنة ودية!

لا شك أن هناك بعض الرؤوس أو مزيج من الرؤوس التي تضعها المتصفحات بطريقة أو بأخرى، ويحدد urllib بطريقة أخرى، ويحصل دغدغة الخلل على الخادم في الحالة الأخيرة. قد ترغب في أن ترى بالضبط ما يتم إرسال رؤوسه على سبيل المثال مع Firebug في Firefox، وإعادة إنتاج تلك حتى تعزلك بالضبط خطأ الخادم؛ على الأرجح أنه سيكون وكيل المستخدم أو بعض "قبول" -. رأس دغدغة هذا الخطأ.

لا أعتقد أنك تفعل أي شيء خاطئ - يبدو أن هذا الخادم كان لأسفل فقط؟ عمل البرنامج النصي جيدا بالنسبة لي ("النص" الموجود في نفس البيانات التي يتم عرضها في المتصفح).

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