سؤال

المنتج الذي أعمل عليه تشغيل على رأس محرك تطبيقات Google. أنه يحتوي على كود مماثل لهذا:

    result = urlfetch.fetch(url, **parms)
    log('%s' %result.final_url)

هذا دائما يعود لا شيء. في الوثائق تقول إنها سترجع عنوان URL الصحيح. ولكن يبدو أن هذه مشكلة. لا يمكنني استخدام عنوان URL المحدد لأن هناك الكثير من 302 قد يحدث بينهما.

أي شخص يعرف كيفية حل نفس الشيء؟

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

المحلول

اختبار على shell.appspot.com. يوضح أنه تم ملء Final_url في IFF تم إعادة توجيه إعادة توجيه، ويترك فارغا إذا لم يكن الأمر كذلك:

>>> from google.appengine.api import urlfetch
>>> urlfetch.fetch('http://google.com/').final_url
'http://www.google.com/'
>>> urlfetch.fetch('http://www.google.com/').final_url

حتى تحصل على عنوان URL النهائي، فقط افعل هذا:

result = urlfetch.fetch(url, **parms)
final_url = result.final_url or url
log('%s' % final_url)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top