我正在使用PHP制作一个Web应用程序,希望从另一个域中读取内容。似乎我的主要选择是fopen
和curl
。
这两种方法有哪些主要区别,特别是在安全性和可用选项方面?
如果URL是http或https网站,是否重要?
Curl使用外部库,因此可以更加强大地自定义请求 - 自定义标头、生成POST请求、上传文件。我必须说,这是你所需要的一切。
fopen仅限于对URL进行GET请求,没有进一步的自定义选项。
至于安全性,CURL不受PHP安全配置的影响(例如禁止fopen远程URL等)。
这两种可能性都会返回数据,您可以按照您想要的方式使用它。如果您在项目中存在安全漏洞,在获取数据后就是您的责任。
此外,我不太确定,但我认为fopen无法处理SSL(https)连接。如下评论所述,fopen和CURL都支持SSL。
fopen
能做什么,而在于 HTTP/HTTPS 流包装器能做什么。请查看 http://de.php.net/manual/en/wrappers.http.php。 - Gordon