Por que o curl fornece uma resposta diferente para $ _SERVER ['REQUESTI_URI'] do que os navegadores?

3

Eu tenho uma página PHP de teste simples:

<?php
  echo $_SERVER['HTTP_HOST'] . '<br/>';
  echo $_SERVER['REQUEST_URI'];
?>

Quando eu acesso essa página com um navegador (testei cromo e links), ele me fornece a saída que estou esperando:

10.1.25.222
/test.php

Mas quando eu acesso isso com curl 10.1.25.222/test.php :

10.1.25.222<br/>HTTP://10.1.25.222/test.php

Dando-me o HTTP_HOST que estou esperando, mas não o REQUEST_URI que estou esperando

    
por grimetime 25.07.2013 / 16:35

1 resposta

2

Só posso supor que curl esteja enviando o URL inteiro em sua solicitação GET . Eu testei os dois métodos abaixo contra o Apache e ambos parecem funcionar e dar resultados semelhantes ao que você está enfrentando:

O que a maioria dos navegadores parece fazer em sua solicitação HTTP:

GET /some/path HTTP/1.1
Host: www.domain.com

Qual onda parece estar fazendo:

GET HTTP://www.domain.com/some/path HTTP/1.1
Host: www.domain.com
    
por 25.07.2013 / 17:25

Tags