2016-10-18 22 views
2

我試圖打印從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

回答

1

如果您在源頁面中聲明瞭頁面頂部的ob_start()函數,它可能會被頁眉阻塞。

0

我的問題解決了!我公司的代理人是負責任的。 爲了超越它,我安裝了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; 

我希望這將幫助!