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.