<p>request.exceptions.InvalidSchema: Dependências ausentes para suporte SOCKS.</p>

Criado em 17 ago. 2016  ·  7Comentários  ·  Fonte: psf/requests

Oi lista
Eu tenho problema Dependências ausentes para suporte SOCKS. com o módulo de solicitações versão 2.11,

mas com a versão 2.10 do módulo de solicitações, o módulo de solicitações funciona bem

meu ambiente:
declara -x VIRTUAL_ENV = "/ home / hadn / python3"
declara -x VTE_VERSION = "3803"
declara -x WINDOWID = "33554439"
declara -x WINDOWPATH = "1"
declara -x XAUTHORITY = "/ run / gdm / auth-for-hadn-0O4FTR / database"
declara -x XDG_CURRENT_DESKTOP = "GNOME- Classic: GNOME "
declara -x XDG_MENU_PREFIX = "gnome-"
declara -x XDG_RUNTIME_DIR = "/ run / user / 1000"
declara -x XDG_SEAT = "assento0"
declara -x XDG_SESSION_DESKTOP = "gnome-classic"
declara -x XDG_SESSION_ID = "2"
declara -x XDG_VTNR = "1"
declara -x XMODIFIERS = "@ im = ibus"
declara -x _system_arch = "x86_64"
declara -x _system_name = "CentOS"
declare -x _system_type = "Linux"
declara -x _system_version = "7"
declara -x all_proxy = " socks: //proxy.hcm.fpt.vn : 80 /"
declare -x ftp_proxy = " http://proxy.hcm.fpt.vn : 80 /"
declare -x http_proxy = " http://proxy.hcm.fpt.vn : 80 /"
declare -x https_proxy = " http://proxy.hcm.fpt.vn : 80 /"

(python3) [hadn @ rad-hadn4 ~] $ /home/hadn/Laravel/learning_bootstrap_v4/film/film_le.sh
Traceback (última chamada mais recente):
Arquivo "/home/hadn/Laravel/learning_bootstrap_v4/film/film_le_crawler_page_1.py", linha 24, em
html_content = session.get (url)
Arquivo "/home/hadn/python3/lib/python3.4/site-packages/requests/sessions.py", linha 483, em get
return self.request ('GET', url, * _kwargs)
Arquivo "/home/hadn/python3/lib/python3.4/site-packages/requests/sessions.py", linha 471, na solicitação
resp = self.send (prep, * _send_kwargs)
Arquivo "/home/hadn/python3/lib/python3.4/site-packages/requests/sessions.py", linha 581, em envio
r = adapter.send (request, * _kwargs)
Arquivo "/home/hadn/python3/lib/python3.4/site-packages/requests/adapters.py", linha 384, no envio
conn = self.get_connection (request.url, proxies)
Arquivo "/home/hadn/python3/lib/python3.4/site-packages/requests/adapters.py", linha 287, em get_connection
proxy_manager = self.proxy_manager_for (proxy)
Arquivo "/home/hadn/python3/lib/python3.4/site-packages/requests/adapters.py", linha 183, em proxy_manager_for
* _proxy_kwargs
Arquivo "/home/hadn/python3/lib/python3.4/site-packages/requests/adapters.py", linha 43, em SOCKSProxyManager
aumentar InvalidSchema ("Dependências ausentes para suporte SOCKS.")
request.exceptions.InvalidSchema: Dependências ausentes para suporte SOCKS.

Comentários muito úteis

$ pip install requests[socks]

Todos 7 comentários

$ pip install requests[socks]

O problema específico aqui é que na versão 2.11 começamos a oferecer suporte a all_proxy , que você configurou como um proxy SOCKS. Isso significa que tentaríamos usar o proxy SOCKS e falharíamos.

@Lukasa @kennethreitz posso ter a opção de desabilitar o proxy SOCKS ??

@ alochym01 Se você não quiser, por que está configurado em seu ambiente? Independentemente disso, se você usar uma sessão com trust_env=False esse problema não ocorrerá mais, embora você perderá o proxy HTTP do ambiente.

No entanto, parece que há um bug aqui: as solicitações preferirão all_proxy a um proxy específico de esquema. Acho que é uma má ideia. @ sigmavirus24 , devemos reordenar isso?

@Lukasa Pelo que entendi, all_proxy é o que deve ser usado se http(s)_proxy não estiver definido. E em um sentido mais geral, deve ser usado se <protocol>_proxy não estiver definido. Portanto, com base nesse entendimento (e presumindo que estou correto), sim, definitivamente devemos reordenar isso. Vamos registrar um novo bug para isso.

@ alochym01 Outra opção parece ser usar proxies={'all': None} .

@Lukasa proxies = {'all': None} não funciona porque a rede deve passar por proxy, então vejo que você abriu o novo problema :)
vamos seguir o novo problema: +1:

Esta página foi útil?
0 / 5 - 0 avaliações