在 PHP 中,在使用http_get ("https://...") 和使用fsockopen ("ssl://...")、fputs () 和fread () 的套接字循环之间进行选择时,最大的考虑是什么?
我最近看到了一些使用后者的实现。那只是旧的遗留代码还是有什么好的理由?
谢谢。
http_get
需要一个 PECL 扩展,它不与 PHP 捆绑在一起。
fsockopen
使用起来更复杂(需要循环、手动发送标头、手动读取标头,并且通常需要更多代码),但它是 PHP 的一部分(它始终存在)。
在我看来,最好的故障安全选项是使用 http 包装器,如下所示:
file_get_contents('https://...')
然而,http 包装器有其自身的一组限制——没有摘要身份验证,没有编码内容的自动处理等。因此,如果PECL http 扩展或curl 扩展可用,那么这些可能是更好的选择。