2011-11-24 85 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。