/ / Analisando a resposta de ondulação no groovy - cabeçalho de ondulação, postagem, groovy, http

Analisando a resposta de curl em groovy - curl, post, groovy, http-headers

eu uso curl para fazer uma solicitação HTTP POST, que faz uma solicitação de redirecionamento 302. Como posso analisar a resposta de curl comando para obter o cabeçalho de resposta usando o Groovy?

Respostas:

1 para resposta № 1

Se você deseja usar o Groovy para analisar os cabeçalhos de resposta do comando cURL, tente transmitir a saída cURL como um parâmetro para um script do Groovy. Considere o seguinte script:

#!groovy

def location = (args[0] =~ "Location: ([^\n]+)\n")?.getAt(0)?.getAt(1)

println "Location: ${location}"

É preciso o primeiro parâmetro (args[0]) e extratos Location valor do cabeçalho usando expressão regular e imprime o que foi extraído para o console (no seu caso, você pode fazer coisas diferentes com o valor extraído, este é apenas um exemplo).

Digamos que esse script seja chamado location.groovy.

groovy location.groovy "`curl -i http://google.com`"

Neste exemplo, eu executo uma solicitação GET simples para http://google.com. O que é importante - você deve citar duas vezes o que curl comando retorna, porque conterá n caracteres que estragariam um pouco se não fossem citados. Você também tem que usar -i opção para exibir cabeçalhos e outras coisas.

Claro que você também pode fazer algo como:

CURL_RESULT=`curl -i http://google.com`
groovy location.groovy $CURL_RESULT

dividir curl a partir de groovy parte. Depois de executar este script, você verá algo parecido no console:

Location: http://www.google.pl/?gfe_rd=cr&dcr=0&ei=2UZjWsygGYvEXs3WrRg