Solicitações de Python - sem adaptadores de conexão


Respostas:


383

Você precisa incluir o esquema de protocolo:

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

Sem a http://parte, requestsnão tem idéia de como se conectar ao servidor remoto.

Observe que o esquema do protocolo deve estar em letras minúsculas; se o seu URL começar com, HTTP://por exemplo, ele também não encontrará o http://adaptador de conexão.


@MartijnPieters Qual pacote você recomenda baixar um arquivo usando o ftp?
— AstroFloyd 22/10/19

@AstroFloyd Eu não tenho nenhuma recomendação lá, desculpe.
— Martijn Pieters

Peço desculpas - pensei que estava respondendo ao seu comentário sobre a resposta de outra pessoa para uma pergunta diferente. Enfim, recebi o erro acima porque tentei baixar um arquivo via FTP. Esta resposta fornece uma solução para esse problema, "mesmo" para Python3.
— AstroFloyd 22/10/19

@ Astrofloyd: sim, requestsé puramente para HTTP, não para outros protocolos.
— Martijn Pieters

28

Mais um motivo, talvez seu URL inclua alguns caracteres ocultos, como '\ n'.

Se você definir seu URL como abaixo, esta exceção aumentará:

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

porque há '\ n' oculto na string. O URL de fato se torna:

\nhttp://google.com\n

9
Ou se o seu url é acidentalmente uma tupla por causa de uma vírgula à direitaurl = self.base_url % endpoint,
— Christian Long

@ChristianLong existe alguma maneira de converter uma string em url adequado? Como, você pode me dizer, o que você está fazendo no seu comentário?
— Ravi Shankar Bharti
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.