zoukankan      html  css  js  c++  java
  • php中file_get_contents与curl的区别

    做微信开发的时候,项目中需要用PHP去请求微信相关接口。刚开始使用的是file_get_contents这个函数,后来听朋友说最好用curl。自己尝试了下,也能成功请求微信的接口。这两个有什么区别呢?抱着好奇心查阅了相关资料后,才知道他们之间确实有很大的不同。

    1.fopen /file_get_contents 每次请求都会重新做DNS查询,并不对 DNS信息进行缓存。但是CURL会自动对DNS信息进行缓存。对同一域名下的网页或者图片的请求只需要一次DNS查询。这大大减少了DNS查询的次数。所以CURL的性能比fopen /file_get_contents 好很多。

    2.fopen /file_get_contents 在请求HTTP时,使用的是http_fopen_wrapper,不会keeplive。而curl却可以。这样在多次请求多个链接时,curl效率会好一些。

    3.fopen / file_get_contents 函数会受到php.ini文件中allow_url_open选项配置的影响。如果该配置关闭了,则该函数也就失效了。而curl不受该配置的影响。

    4.curl 可以模拟多种请求,例如:POST数据,表单提交等,用户可以按照自己的需求来定制请求。而fopen / file_get_contents只能使用get方式获取数据。
    file_get_contents 获取远程文件时会把结果都存在一个字符串中 fiels函数则会储存成数组形式

    由此可知curl在性能、速度、稳定性上都要优于file_get_contents,所以建议以后使用curl库进行网络请求。

  • 相关阅读:
    可输入下拉框
    display:table-cell 相当于td
    循环拼接HTML
    jq操纵select
    echarts柱状图使用
    原生js 获取路由参数
    js下拉模糊查询
    ie 的hack
    vue 兼容ie11
    vuecli中的绝对路径和相对路径
  • 原文地址:https://www.cnblogs.com/fangfeiyue/p/7453490.html
Copyright © 2011-2022 走看看