2011-11-24 121 views
0

我已經嘗試了很多方法來嘗試獲取url的內容,並使用影響輸出的哈希值。我真的不知道該如何解釋,但這裏有一個例子...file_get_contents包含哈希信息

這樣做:

echo file_get_contents('test.com/whatever.php?t1=1&t2=2#this'); 

將返回相同的結果:

echo file_get_contents('test.com/whatever.php?t1=1&t2=2'); 

即使如果我瀏覽到它在我的網絡瀏覽器中會有所作爲。當然,上面的網址並不是我正在使用的實際網址,但我希望你明白。

事情我已經嘗試:

捲曲:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_exec($ch); 
curl_close($ch); 

的file_get_contents:

file_get_contents($url); 

FREAD:

//don't know where I put the code. 

這些都是我試過的事情,和不要回憶除了這裏,你知道下一步該去哪裏。我真的不確定這是否可能,但我希望它是。

感謝您的幫助,sh042067。

回答

0

你的反應將是一樣的,因爲哈希是在客戶端的過程,而不是在服務器端

引用自wikipedia

的片段標識符的功能比所述URI的其餘部分是不同的:即,其處理是排他的客戶端,沒有從服務器 參與 - 當然的服務器通常有助於 確定MIME類型,並且MIME類型決定了片段處理的 。當代理(如Web瀏覽器) 向Web服務器請求資源時,代理會將URI發送到 服務器,但不發送片段。相反,代理等待 服務器發送資源,然後代理根據文檔類型和片段值處理 資源。

0

散列部分(稱爲「片段」)從不發送到服務器。在HTTP協議中沒有有效的方法來做到這一點。該片段僅用於瀏覽內的頁面,但瀏覽器請求並接收相同的數據,無論如何。

某些站點使用JavaScript管理片段,以發出異步請求來加載新數據並動態更改頁面,這會使線條稍微模糊。

在你的情況下,你將不得不在頁面上找到具有id="this"的HTML元素,因爲這是片段指向的地方,它是瀏覽器向下滾動的位置。或者,如果你得到一個看起來像查詢變量的片段,你必須找到你想要請求的真正的,非JavaScript的URL。