zoukankan      html  css  js  c++  java
  • php中 curl, fsockopen ,file_get_contents 三个函数

    赵永斌:
    有些时候用file_get_contents()调用外部文件,容易超时报错。换成curl后就可以.具体原因不清楚
    curl 效率比file_get_contents()和fsockopen()高一些,原因是CURL会自动对DNS信息进行缓存(亮点啊 有我待亲测)

    范佳鹏:
    file_get_contents curl fsockopen
    在当前所请求环境下选择性操作,没有一概而论:
    具我们公司开发KBI应用来看:
    刚开始采用:file_get_contents
    后来采用:fsockopen
    最后到至今采用:curl

    (远程)我个人理解到的表述如下(不对请指出,不到位请补充)
    file_get_contents 需要php.ini里开启allow_url_fopen,请求http时,使用的是http_fopen_wrapper,不会keeplive.curl是可以的。
    file_get_contents()单个执行效率高,返回没有头的信息。
    这个是读取一般文件的时候并没有什么问题,但是在读取远程问题的时候就会出现问题。
    如果是要打一个持续连接,多次请求多个页面。那么file_get_contents和fopen就会出问题。
    取得的内容也可能会不对。所以做一些类似采集工作的时候,肯定就有问题了。
    sock较底层,配置麻烦,不易操作。 返回完整信息。

    潘少宁-腾讯:

    file_get_contents 虽然可以获得某URL的内容,但不能post  get啊。
    curl 则可以post和get啊。还可以获得head信息
    而socket则更底层。可以设置基于UDP或是TCP协议去交互
    file_get_contents 和 curl 能干的,socket都能干。
    socket能干的,curl 就不一定能干了
    file_get_contents  更多的时候 只是去拉取数据。效率比较高  也比较简单。
    赵的情况这个我也遇到过,我通过CURL设置host 就OK了。  这和网络环境有关系

  • 相关阅读:
    在Android studio中,测试输出数组中最大子数组的和
    我所理解的软件开发模式
    java实现随机输出300题四则运算
    Demo(3月28日)
    关于构建之法中小飞问题的个人看法
    对搭档代码的一些意见
    项目复审
    安卓UI测试(基于android studio环境 espresso框架)
    读构建之法后的一些个人感受
    思考题
  • 原文地址:https://www.cnblogs.com/echoshao/p/6513558.html
Copyright © 2011-2022 走看看