我尝试使用以下方法从其网址打印网页的xml源内容:
angular.module('MyModule', [])
.controller( 'MyController', function($scope){
$scope.showMovie = function(movie){
angular.forEach(movie.genre, function(genreM){
return genreM.genreName === $scope.Filter.Comedy ||
genreM.genreName === $scope.Filter.Drama ||
genreM.genreName === $scope.Filter.Action;
}
};
$scope.movies = [
{title:'Man on the Moon', genre: [
{genreName: 'Family', genreId: '1'},
{genreName: 'Action', genreId: '2'}
]},
{title:'Meet the Robinsons', genre: [
{genreName: 'Family', genreId: '1'},
{genreName: 'Action', genreId: '2'}
]},
{title:'Sphere', [
{genreName: 'Family', genreId: '1'}
]}
];
});
但是,会显示错误消息:
警告:file_get_contents(http://eur-lex.europa.eu/legal-content/FR/TXT/XML/?uri=CELEX:32012R0823)
有什么问题?获取源XML的最佳方法是什么?
答案 0 :(得分:1)
如果您在源页面中声明了在页面顶部尝试ob_start()函数,它可能被标题阻止。
答案 1 :(得分: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;
我希望它会有所帮助!