2014-02-18 34 views

回答

0

您可以使用stream_context_create()来设置获得通过到的file_get_contents选项()创建一个自定义用户代理和主机头将与请求一起发送。

还没有尝试过,但像这样的东西应该工作。

<?php 
$opts = array(
    'http'=>array(
     'header'=>"Host: www.mycallingserver.com", 
     'user_agent'=>"My Custom User Agent" 
    ) 
); 
$context = stream_context_create($opts); 

$file = file_get_contents('http://www.example.com/', false, $context); 
?> 
0

大卫,你的问题对我没有任何意义。

file_get_contents与获取$ _SERVER变量信息有什么关系? file_get_contents读取一个文件/ uri并返回一个文本流。与获取$ _SERVER变量信息无关。

如果你正在编写一个PHP脚本,你是来电者。您可以在运行脚本的服务器上获取$ _SERVER变量信息,但不能从其他网站获取。这将是一个安全问题。

+0

你说得有点正确。从服务器-A上的PHP脚本中,我调用了file_get_contents('http://server-B.com/mypage.php')。我只是想知道,如果我不能发送这些信息,可以从服务器B获取服务器信息,例如主机名。 – David

+0

file_get_contents(server-B.com/mypage.php)没有得到mypage.php的执行结果。它只是将PHP文件本身作为文本返回。 –