سؤال

لا urllib2 في بيثون 2.6.1 دعم الوكيل عبر https ؟

لقد وجدت ما يلي في http://www.voidspace.org.uk/python/articles/urllib2.shtml:

ملاحظة

حاليا urllib2 لا يدعم جلب https المواقع من خلال وكيل.هذا يمكن أن يكون مشكلة.

أنا أحاول أتمتة تسجيل الدخول في الموقع وتحميل الوثائق لدي صالحة اسم المستخدم/كلمة المرور.

proxy_info = {
    'host':"axxx", # commented out the real data
    'port':"1234"  # commented out the real data
}

proxy_handler = urllib2.ProxyHandler(
                 {"http" : "http://%(host)s:%(port)s" % proxy_info})
opener = urllib2.build_opener(proxy_handler,
         urllib2.HTTPHandler(debuglevel=1),urllib2.HTTPCookieProcessor())
urllib2.install_opener(opener)

fullurl = 'https://correct.url.to.login.page.com/user=a&pswd=b' # example
req1 = urllib2.Request(url=fullurl, headers=headers)
response = urllib2.urlopen(req1)

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

أنا بحاجة لمصادقة ولكن لا تستخدم المصادقة الأساسية ، urllib2 معرفة المصادقة عند الذهاب عبر https موقع (أنا إمدادات اسم المستخدم/كلمة المرور إلى الموقع عبر عنوان url)?

تحرير:لا, أنا اختبرت مع

   proxies = {
        "http" : "http://%(host)s:%(port)s" % proxy_info,
        "https" : "https://%(host)s:%(port)s" % proxy_info
    }

    proxy_handler = urllib2.ProxyHandler(proxies)

و أحصل على خطأ:

urllib2.URLError:urlopen خطأ [Errno 8] _ssl.ج:480:EOF وقعت في انتهاك البروتوكول

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

المحلول

لست متأكدا مايكل Foord المادة التي اقتبس, يتم تحديث الثعبان 2.6.1-لماذا لا تجرب ؟ بدلا من أن تقول ProxyHandler أن الوكيل هو جيد فقط http, كما كنت أفعل الآن بالتسجيل https أيضا (بالطبع يجب أن صيغة الأمر إلى متغير مرة واحدة فقط قبل الاتصال ProxyHandler فقط مرارا وتكرارا استخدام هذا المتغير في ديكت):التي قد أو قد لا تعمل, ولكن انت حتى في محاولة, ، متأكد لا تعمل!-)

نصائح أخرى

ثابت في بيثون 2.6.3 و العديد من الفروع الأخرى:

  • _bugs.python.org/issue1424152 (محل _ مع http...)
  • http://www.python.org/download/releases/2.6.3/NEWS.txt

    قضية #1424152:إصلاح httplib, urllib2 لدعم SSL أثناء العمل من خلال وكيل.الأصلي التصحيح من قبل كريستوفر لى التغييرات التي أجراها Senthil كوماران.

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

وانظر unittest في مصدر الثعبان أن يختبر الشبكي إنشاء وكلاء الدعم لمزيد من المعلومات: HTTP: //svn.python.org/view/python/branches/release26-maint/Lib/test/test_urllib2.py؟r1=74203&r2=74202&pathrev=74203

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