2015-06-15 4 views
0

Так что я довольно новый для использования urllib.request библиотеки, и я пытаюсь запустить прокси через прокси-обработчик, но я получаю это сообщение об ошибкеPython: URLLIB ошибка proxyhandler

assert hasattr(proxies, 'keys'), "proxies must be a mapping" 
AssertionError: proxies must be a mapping 

Моего код является

import urllib.request 

proxy = "https://107.170.206.225" 
handler = urllib.request.ProxyHandler(proxy) 
opener = urllib.request.build_opener(handler) 
urllib.request.install_opener(opener) 
response = urllib.request.urlopen('http://youtube.com/') 

Я пытался просматривал документацию и он сказал, чтобы убедиться в использовании словаря протокола сопоставления, но я не уверен в том, как сделать это так, что любая помощь будет оценена.

ответ

0

Вы правы the documentation for ProxyHandler говорит, что «proxies должен быть словарем имена протоколов отображения в URL-адреса доверенных лиц». И он должен быть прочитан как «proxies должен быть словарем, который сопоставляет имена протоколов с URL-адресами прокси». В вашем случае proxies следует определить следующим образом.

proxies = {'https': '107.170.206.225'} 
handler = urllib.request.ProxyHandler(proxies)