Php
為什麼 curl 對 $_SERVER 給出不同的響應′稀土_QU_和小號噸一世在R一世′′R和問在和小號噸一世在R一世′‘REQUESTI_URI’比瀏覽器?
我有一個簡單的測試 PHP 頁面:
<?php echo $_SERVER['HTTP_HOST'] . '<br/>'; echo $_SERVER['REQUEST_URI']; ?>
當我使用瀏覽器訪問此頁面時(我已經測試了 chrome 和連結),它給了我期望的輸出:
10.1.25.222 /test.php
但是當我訪問它時
curl 10.1.25.222/test.php
:10.1.25.222<br/>HTTP://10.1.25.222/test.php
給我
HTTP_HOST
我期待的,但不是REQUEST_URI
我期待的
我只能假設
curl
必須在其GET
請求中發送整個 URL。我已經針對 Apache 測試了以下兩種方法,它們似乎都可以正常工作並給出與您所遇到的類似的結果:大多數瀏覽器在他們的 HTTP 請求中似乎做了什麼:
GET /some/path HTTP/1.1 Host: www.domain.com
curl 似乎在做什麼:
GET HTTP://www.domain.com/some/path HTTP/1.1 Host: www.domain.com