<p>request.exceptions.InvalidSchema: отсутствуют зависимости для поддержки SOCKS.</p>

Созданный на 17 авг. 2016  ·  7Комментарии  ·  Источник: psf/requests

Привет список
У меня проблема Отсутствуют зависимости для поддержки 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]

Все 7 Комментарий

$ 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:

Была ли эта страница полезной?
0 / 5 - 0 рейтинги