Solicitudes de Python: sin adaptadores de conexión


Respuestas:


384

Debe incluir el esquema de protocolo:

'http://192.168.1.61:8080/api/call'

Sin la http://parte, requestsno tiene idea de cómo conectarse al servidor remoto.

Tenga en cuenta que el esquema de protocolo debe ser todo en minúsculas; si su URL comienza con, HTTP://por ejemplo, tampoco encontrará el http://adaptador de conexión.


@MartijnPieters ¿Qué paquete recomienda para descargar un archivo usando ftp?
AstroFloyd

@AstroFloyd No tengo ninguna recomendación allí, lo siento.
Martijn Pieters

Pido disculpas, pensé que estaba respondiendo a su comentario sobre la respuesta de otra persona a una pregunta diferente. De todos modos, recibí el error anterior porque intenté descargar un archivo a través de FTP. Esta respuesta da una solución para ese problema, "incluso" para Python3.
AstroFloyd

@AstroFloyd: sí, requestses solo para HTTP, no para otros protocolos.
Martijn Pieters

28

Una razón más, tal vez su URL incluya algunos caracteres ocultos, como '\ n'.

Si define su URL como a continuación, esta excepción generará:

url = '''
http://google.com
'''

porque hay '\ n' ocultar en la cadena. La url de hecho se convierte en:

\nhttp://google.com\n

9
O si su URL es accidentalmente una tupla debido a una coma finalurl = self.base_url % endpoint,
Christian Long

@ChristianLong, ¿hay alguna forma de convertir una cadena a la URL adecuada? ¿Me puedes decir qué haces en tu comentario?
Ravi Shankar Bharti
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.