2011-07-05 42 views
0

好吧,我有這樣的設置:如何知道使用目標網址中的curl調用目標網址的url?

//in example1.com, I am setting cURL <br /> 
$c = curl_init(); <br /> 
curl_setopt($c, CURLOPT_URL, 'http://example2.com'); 


//now in example2.com <br /> 
Is it possible to get the URL "example1.com" which is calling this URL (example2.com)? 

使用file_get_contents('php://input'),我可以得到example1.com的輸入,但我怎樣才能得到這是「example1.com」在這裏example2.com的網址是什麼?

回答

0

不確定你在問什麼。如果你想知道你的腳本調用該URL,因爲這是隻是一個像

"http://" . $_SERVER["SERVER_NAME] . $_SERVER["REQUEST_URI"] 

的一些問題,但如果你問知道哪些要求您在客戶端的URL,它是不可能的。因爲沒有什麼可以保證你被另一個URL調用。這可能僅僅是一個用戶打字成纔到瀏覽器,網絡爬蟲,cron作業,等等

,你可以發現用於確定您的客戶端的唯一的事情是IP地址和端口

$_SERVER["REMOTE_ADDR"] 
$_SERVER["REMOTE_PORT"] 

如果你的客戶是friently HTTP客戶端,你可以得到一些其他的信息,如

$_SERVER["HTTP_USER_AGENT"] 

現在,我不知道這就是你問的是什麼,但它是我從花。

+0

嗨,謝謝你的回答。我的意思是獲得使用curl的網站的網址來訪問我的網站。我試過$ _SERVER [「REMOTE_ADDR」],但它只是返回IP地址。我也嘗試gethostbyaddr($ _ SERVER [「REMOTE_ADDR」]),但它不返回該網站的正確URL。這是因爲我需要檢查訪問該網站的網址,我猜這是不可能的。 – eleda

+0

不,這是不可能的。因爲沒有什麼可以提供的,所以它甚至可以通過「url」進行訪問。如果你也控制訪問客戶端,你可以添加一個自定義標題,這樣你至少可以打破你的客戶端,而其他所有內容都會進入「其他」存儲區。 – Sodved