Привет список
У меня проблема Отсутствуют зависимости для поддержки SOCKS. с модулем запросов версии 2.11,
но с модулем запросов версии 2.10 модуль запросов работает нормально
моя среда:
объявить -x VIRTUAL_ENV = "/ home / hadn / python3"
объявить -x VTE_VERSION = "3803"
объявить -x WINDOWID = "33554439"
объявить -x WINDOWPATH = "1"
объявить -x XAUTHORITY = "/ run / gdm / auth-for-hadn-0O4FTR / database"
объявить -x XDG_CURRENT_DESKTOP = "GNOME- Classic: GNOME "
объявить -x XDG_MENU_PREFIX = "gnome-"
объявить -x XDG_RUNTIME_DIR = "/ run / user / 1000"
объявить -x XDG_SEAT = "seat0"
объявить -x XDG_SESSION_DESKTOP = "gnome-classic"
объявить -x XDG_SESSION_ID = "2"
объявить -x XDG_VTNR = "1"
объявить -x XMODIFIERS = "@ im = ibus"
объявить -x _system_arch = "x86_64"
объявить -x _system_name = "CentOS"
объявить -x _system_type = "Linux"
объявить -x _system_version = "7"
объявить -x all_proxy = " socks: //proxy.hcm.fpt.vn : 80 /"
объявить -x ftp_proxy = " http://proxy.hcm.fpt.vn : 80 /"
объявить -x http_proxy = " http://proxy.hcm.fpt.vn : 80 /"
объявить -x https_proxy = " http://proxy.hcm.fpt.vn : 80 /"
(python3) [ hadn @ rad-hadn4 ~] $ /home/hadn/Laravel/learning_bootstrap_v4/film/film_le.sh
Отслеживание (последний вызов последний):
Файл "/home/hadn/Laravel/learning_bootstrap_v4/film/film_le_crawler_page_1.py", строка 24, в
html_content = session.get (URL)
Файл "/home/hadn/python3/lib/python3.4/site-packages/requests/sessions.py", строка 483, в get
return self.request ('ПОЛУЧИТЬ', url, * _kwargs)
Файл "/home/hadn/python3/lib/python3.4/site-packages/requests/sessions.py", строка 471, в запросе
resp = self.send (подготовка, * _send_kwargs)
Файл "/home/hadn/python3/lib/python3.4/site-packages/requests/sessions.py", строка 581, в отправке
r = adapter.send (запрос, * _kwargs)
Файл "/home/hadn/python3/lib/python3.4/site-packages/requests/adapters.py", строка 384, в отправке
conn = self.get_connection (request.url, прокси)
Файл "/home/hadn/python3/lib/python3.4/site-packages/requests/adapters.py", строка 287, в get_connection
proxy_manager = self.proxy_manager_for (прокси)
Файл "/home/hadn/python3/lib/python3.4/site-packages/requests/adapters.py", строка 183, в proxy_manager_for
* _proxy_kwargs
Файл "/home/hadn/python3/lib/python3.4/site-packages/requests/adapters.py", строка 43, в SOCKSProxyManager
Raise InvalidSchema ("Отсутствуют зависимости для поддержки SOCKS.")
request.exceptions.InvalidSchema: отсутствуют зависимости для поддержки SOCKS.
$ pip install requests[socks]
Конкретная проблема здесь в том, что в 2.11 мы начали поддерживать all_proxy
, который вы настроили как прокси-сервер SOCKS. Это означает, что мы попытаемся использовать прокси-сервер SOCKS и потерпим неудачу.
@Lukasa @kennethreitz могу ли я отключить прокси-сервер SOCKS ???
@ alochym01 Если вы этого не хотите, почему он установлен в вашей среде? Тем не менее, если вы используете сеанс с trust_env=False
эта проблема больше не возникнет, хотя вы потеряете свой HTTP-прокси в среде.
Однако, похоже, здесь есть ошибка: запросы будут предпочитать all_proxy
прокси, зависящему от схемы. Я думаю, это плохая идея. @ sigmavirus24 , стоит ли заказывать заново?
@Lukasa Итак, насколько я понимаю, all_proxy
- это то, что нужно использовать, если http(s)_proxy
не задано. И в более общем смысле его следует использовать, если <protocol>_proxy
не установлено. Итак, основываясь на этом понимании (и при условии, что я прав), да, мы определенно должны изменить порядок. Давайте запишем для этого новую ошибку.
@ alochym01 Другой вариант - использовать proxies={'all': None}
.
@Lukasa proxies = {'all': None} не работает, потому что сеть должна проходить через прокси, поэтому я вижу, вы открыли новую проблему :)
давайте следить за новым выпуском: +1:
Самый полезный комментарий
$ pip install requests[socks]