4
respostas

Erro na requisição http pelo python

Estou este erro : Could not resolve host: application

  • Closing connection 0 curl: (6) Could not resolve host: application

ao executar o comando curl em python, podem me ajudar ?

 command = "curl -X PUT -v -H 'Content-Type: application/json' -d '{\"nome\"" + ":" + "\"" + app_name + "\"" + "," + "\"versao\"" + ":" + "\"" + app_version + "\"}' " + portal_url
        print("Command =>  ", command)
        subprocess.call(command)
4 respostas

Fala ai Thiago, tudo bem? Verifique os dados que estão sendo utilizados para realizar a requisição e tente fazê-la de forma manual fora do Python, ou seja, direto no terminal.

Talvez o endereço da aplicação esteja com algum problema ou a mesma não está disponível no momento da requisição.

Uma vez que conseguir rodar direto no terminal, tente replicar com os mesmos dados dentro do Python.

Obs: Seria melhor você criar a dúvida na categoria de Programação em algum curso de Python, esse assunto foge um pouco do front-end.

Espero ter ajudado.

Pelo curl no gitbash funciona

 curl -X PUT -v -H 'Content-Type: application/json' -d '{"nome":"Splunk","versao":"7.3.1"}' http://localhost:3333/artefato
* Expire in 0 ms for 6 (transfer 0x273aab0)
* Expire in 1 ms for 1 (transfer 0x273aab0)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Expire in 0 ms for 1 (transfer 0x273aab0)
 Trying 127.0.0.1...
* TCP_NODELAY set
* Expire in 149993 ms for 3 (transfer 0x273aab0)
* Expire in 200 ms for 4 (transfer 0x273aab0)
* Connected to localhost (127.0.0.1) port 3333 (#0)
> PUT /artefato HTTP/1.1
> Host: localhost:3333
> User-Agent: curl/7.64.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 34
>
} [34 bytes data]
* upload completely sent off: 34 out of 34 bytes
< HTTP/1.1 200 OK
< X-Powered-By: Express
< Access-Control-Allow-Origin: *
< Content-Type: application/json; charset=utf-8
< Content-Length: 115
< ETag: W/"73-7EhxcWrYMOugIrzYMnohcZFGtSA"
< Date: Thu, 27 Feb 2020 14:16:49 GMT
< Connection: keep-alive
<
{ [115 bytes data]
100   149  100   115  100    34    485    143 --:--:-- --:--:-- --:--:--   628{
    "message": " Ativo update !!",
    "ativo": {
        "n": 1,
        "nModified": 1,
        "ok": 1
    }
}
* Connection #0 to host localhost left intact

Obrigado irei postar lá também.

Certo, agora pegue o comando executado diretamente no Git Bash:

curl -X PUT -v -H 'Content-Type: application/json' -d '{"nome":"Splunk","versao":"7.3.1"}' http://localhost:3333/artefato

E compare com o print do Python:

print("Command =>  ", command)

Ambos precisam estar iguais, talvez exista alguma diferença entre eles.

Espero ter ajudado.