enrolar recebendo um 302 ou algo assim, estranho

2

Eu tenho o seguinte comando curl

curl -X POST -w "\nRESULT CODE:%{http_code}\n" --insecure --header "Content-Type:application/json" --user robot-midc:1ZSXM7 -d @table.json http://databus.nrel.gov/api/registerV1

e recebo a seguinte resposta

<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx/1.2.4</center>
</body>
</html>

hmmm, como eu verifico o código http real, era um 302, já que os documentos curl afirmam que seguem redirecionamentos, então não tenho certeza do que está acontecendo?

obrigado Dean

hmmm, talvez este seja um bug em que curl não segue http para redirecionar https como navegadores ?? Meu problema era simplesmente que o balanceador de carga sempre redirecionava para https e eu tinha http na linha lá .... tão estranho, seria bom para curl dar um erro melhor em que ele não redireciona para https (ou seja,. não segue todos os redirecionamentos como os estados da documentação).

    
por Dean Hiller 10.08.2013 / 21:51

2 respostas

3

Passe -L para cURL e siga o 302.

    
por 10.08.2013 / 21:55
6

Adicione -v para enrolar para ver as respostas reais do cabeçalho.
E, por padrão, ele não segue os redirecionamentos, adicione -L para seguir também os redirecionamentos, mas (da página man):

When authentication is used, curl only sends its credentials  to  the
initial  host.  If a redirect takes curl to a different host, it
won't be able to intercept the user+password. See  also  --location-trusted
on how to change this. 
    
por 10.08.2013 / 21:55

Tags