كيفية تجاهل "أدخل اسم المستخدم للخاص وكيل الوصول" موجه؟
سؤال
وأنا باستخدام urllib.urlopen باستخدام http الوكلاء وأحيانا (ربما عندما تتطلب إذنا) I الحصول على المطالبة التالية المطبوع إلى وحدة التحكم:
Enter username for Private Proxy Access (country) at xxx.xxx.xxx.xxx:xxxx
وكيف يمكنني رفع استثناء على هذا يحدث شيء؟
وفيما يلي مثال:
from urllib import urlopen
p = '64.79.209.238:36867'
print urlopen('http://google.com', proxies={'http': 'http://'+p})
في حالة وفاة بالوكالة المذكورة في وقت قريب جدا، وهنا بعض البدلاء 64.79.197.36:43444
، 64.79.209.203:34968
، 64.79.197.36:43444
، 209.59.207.197:3438
المحلول
وتحتاج إلى طريقة FancyURLopener.prompt_user_passwd
الكتابة الفوقية:
class AuthorizationRequired(Exception):
pass
class MyURLOpener(urllib.FancyURLopener):
def prompt_user_passwd(self, host, realm):
raise AuthorizationRequired()
opener = MyURLOpener(proxies={'http': 'http://'+p})
fp = opener.open(url)
نصائح أخرى
وurllib.urlencode
لا على أي وقت مضى طباعة هذه الرسالة. هذا الأسلوب لم يضرب الشبكة في المقام الأول. المشكلة هي في مكان آخر.
وأعتقد أنك تقوم بتشغيل بعض الخفي آخرين في الخلفية التي يطبع الرسالة.
يرجى توفير كود استنساخه الدقيق والرسالة. مثال على الوكيل الذي مشغلات أن الرسالة أيضا أن تكون جيدة.
وأنا بتصرف كود دينيس قليلا لهذه:
import urllib
urllib.FancyURLopener.prompt_user_passwd = lambda *a, **k: (None, None)
ووسوف تعطيل المرور مما دفع تماما