获取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的最佳方式是什么?
答
如果您在源页面中声明了页面顶部的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;
我希望这将帮助!
错误消息似乎不完整,您能否提供完整的错误消息? – Clay
警告:file_get_contents(http://eur-lex.europa.eu/legal-content/FR/TXT/XML/?uri=CELEX:32012R0823):在C:\ UwAmp \ www \ afnor \ test.php在线5. 第5行是指我的回声线。 –
另外检查var_dump(ini_get(“allow_url_fopen”));你可能需要改变这个,否则你需要使用PHP CURL – Johnny