Obtém o nome do host da url usando o Trafficscript

2

Eu estou olhando para obter o nome do host de um URL, uma vez que vem através do Zeus e eu olhei através da documentação no Trafficscript e parece que a única opção é regex. Doe Trafficscript tem um método para retornar peças de url?

Estou procurando algo como parse_url

A razão pela qual peço é que tenho a seguinte regra

$url = string.lowercase(http.getPath());
if(string.contains($url, "/simple_protected_url"))
{
  http.redirect("http://mywebsite.com/");
}

O problema é que nossos sites de preparação e desenvolvimento não estão no mesmo nome de domínio ( http://mywebsite.com/ ), então a regra não funciona bem. Eu quero tornar a regra mais genérica, de modo que ela apenas redirecione para a raiz de qualquer site que seja executado e precise de uma maneira de descobrir o host para o redirecionamento.

Obrigado

    
por Paul Sheldrake 14.04.2014 / 16:15

2 respostas

0

Sim, isso é bastante simples no TrafficScript, por exemplo:

$headerHost = http.getHostHeader();

if( $headerHost == "notwhatiexpected.com") {
   # do something

}

http.getHostHeader(); extrai o cabeçalho Host da solicitação atual.
E geralmente há http.getHeader() para extrair qualquer cabeçalho da solicitação.

    
por 14.04.2014 / 16:24
0

Verifique no Guia do Stingray Trafficscript .

Acho que você pode estar procurando por http.getRawURL() ou apenas http.getHeader( "Host" ) ou http.getHostHeader()

Returns the HTTP Host header. This value is lowercased and has the port removed. Any trailing full stop is also removed. For example if the Host header is 'www.Riverbed.com:80' then http.getHostHeader() returns 'www.riverbed.com'.

# Get the unambiguous Host header
$hostheader = http.getHostHeader();
    
por 14.04.2014 / 16:27