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.
$ 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:
Comentários muito úteis
$ pip install requests[socks]