获取XML源用PHP

问题描述:

我试图打印从URL页面的XML源内容:获取XML源用PHP

echo file_get_contents("http://eur-lex.europa.eu/legal-content/FR/TXT/XML/?uri=CELEX:32012R0823 

但是,出现错误消息:

警告:file_get_contents(http://eur-lex.europa.eu/legal-content/FR/TXT/XML/?uri=CELEX:32012R0823

请问有什么不对?获取源XML的最佳方式是什么?

+0

错误消息似乎不完整,您能否提供完整的错误消息? – Clay

+0

警告:file_get_contents(http://eur-lex.europa.eu/legal-content/FR/TXT/XML/?uri=CELEX:32012R0823):在C:\ UwAmp \ www \ afnor \ test.php在线5. 第5行是指我的回声线。 –

+1

另外检查var_dump(ini_get(“allow_url_fopen”));你可能需要改变这个,否则你需要使用PHP CURL – Johnny

如果您在源页面中声明了页面顶部的ob_start()函数,它可能会被页眉阻塞。

我的问题解决了!我公司的代理人是负责任的。 为了超越它,我安装了CNTLM(本地代理:命令行工具)。 有了这个,你必须更新cntlm.ini与该公司代理的信息并运行此命令:

cntlm -I -f -c {path of cntlm.ini} 

然后,PHP脚本:

$aContext = array( 
      'http' => array( 
          'proxy' => "localhost:{port(in cntlm.ini find 'listen', in my case it is 3128)}", 
          'request_fulluri' => True, 
          'userid'=>"{username}", 
          'password'=>"{password}" 
          ) 
      ); 

$context = stream_context_create($aContext); 

$content = file_get_contents({your target url string}, 0, $context); 
echo $content; 

我希望这将帮助!