【问题标题】:PHP http_get vs fsockopen to HTTPS server?PHP http_get vs fsockopen到HTTPS服务器?
【发布时间】:2011-03-05 12:52:48
【问题描述】:

在 PHP 中,在使用 http_get("https://...") 和使用 fsockopen("ssl ://...")、fputs() 和 fread()?

我最近看到了一些使用后者的实现。这只是旧的遗留代码还是有什么好的理由?

谢谢。

【问题讨论】:

    标签: php sockets ssl https pecl


    【解决方案1】:

    http_get 需要一个 PECL 扩展,它不与 PHP 捆绑在一起。

    fsockopen 使用起来更复杂(需要循环、手动发送标头、手动读取标头,并且通常需要更多代码),但它是 PHP 的一部分(它始终存在)。

    在我看来,最好的故障安全选项是使用 http 包装器,如下所示:

    file_get_contents('https://...')
    

    然而,http 包装器有其自身的一组限制 - 没有摘要身份验证,没有自动处理编码内容等。因此,如果 PECL http extensioncurl extension 可用,那么这些可能会更好选项。

    【讨论】:

    • 谢谢。出于某种奇怪的原因,我正在访问的主机在 fsockopen() 方法方面存在问题,而 file_get_contents() 将适用于我当前的应用程序。 (实际上,我可能会使用 simplexml_load_file()。)
    猜你喜欢
    • 2011-07-22
    • 1970-01-01
    • 2014-04-06
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    相关资源
    最近更新 更多