当前位置:  编程技术>php

php curl库用法简介

    来源: 互联网  发布时间:2014-08-30

    本文导语:  php curl库主要有两个requests和guzzle,两个都很复杂。   requests优先使用curl,没有curl时会自动启用fsockets,除非你手工指定了transport。   guzzle有丰富的日志库支持和日志格式,用插件订阅的方式订阅,从代码上看采用事件机制...

php curl库主要有两个requests和guzzle,两个都很复杂。
 
requests优先使用curl,没有curl时会自动启用fsockets,除非你手工指定了transport。
 
guzzle有丰富的日志库支持和日志格式,用插件订阅的方式订阅,从代码上看采用事件机制,质量更高。
它只支持curl(至少只v3版本是),并依赖于symfony的eventemitter,但它被reactphp所依赖。
最近(2014-03-28)发现它从v3.8.1升级到v4.0.0rc,居然把namespace改了,将前两段缩减为一段,源码目录也去掉了顶层的guzzle,毫无意义还导致既不向前兼容,也和其他常见php库不一致。
 
现在是重点,guzzle通常用得好好的,但昨天发现一个问题,有个远程的网址,有到支付宝去查询支付结果。调用这个网址时,guzzle会不成功,但requests可以。
 
关于curl命令,其有两个超时时间,connect-timeout和timeout-max(后面这个通常在程序中就叫做timeout),其中后者包含前者,curll默认的connect-timeout是300秒,没有给timeout-max设置值,但由于包含关系,当你不设置timeout时,它至少也是300秒。

而对于php的fsockets,由于php.ini中有个配置项default_socket_timeout,其默认值才60秒。
另外curl默认不支持http redirect,需要传递 -l 选项(无参数),但根据使用php和python的经历,不少curl库默认是开启了redirect,至少guzzle的文档明确说了是开启了的,如果需要,要手动关闭。
 
 
依据:
 
curl默认的connect-timeout是300秒
https://github.com/bagder/curl/blob/master/lib/connect.h
 
3.8 how do i tell curl to follow http redirects?
http://curl.haxx.se/docs/faq.html

您可能感兴趣的文章:

    
 
 

您可能感兴趣的文章:

  • PHP的substr() 函数用法
  • php setcookie函数的参数说明及其用法
  • php中检测变量是否是一个对象的is_object函数介绍及用法举例
  • PHP函数microtime()用法与说明
  • php session 原理详解,用法介绍以及如何设置过期时间
  • php析构函数用法举例
  • php时间格式化函数date介绍及用法参考
  • php sprintf函数用法 php浮点数格式
  • php curl如何获取返回值 iis7站长之家
  • php析构函数用法分享
  • php goto语句用法简介
  • PHP函数microtime()时间戳的定义与用法
  • php pdo mysql query用法介绍
  • PHP ini_set与ini_get函数用法
  • php STDIN标准输入用法举例
  • php zip解压缩类pclzip用法举例
  • MySQL和PHP中substr函数用法
  • PHP中ini_set和ini_get函数的用法小结
  • php pdo insert与pdo insertId的用法
  • php浮点数精度用法分析
  • php GD库函数getimagesize()的用法
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式
  • PHP的魔术常量__METHOD__简介
  • PHP资源管理框架Assetic简介
  • PHP微框架Dispatch简介
  • PHP goto语句简介和使用实例
  • Php GetImageSize函数简介
  • PHP函数getenv简介和使用实例
  • PHP入门之常量简介和系统常量
  • PHP中的替代语法简介
  • php正则表达式用法简介
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • curl不使用文件存取cookie php使用curl获取cookie示例
  • PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
  • php怎么开启CURL支持?
  • php使用curl存储cookie的示例
  • php模拟登录 php curl模拟登录教程大全
  • PHP curl修改网站请求头
  • php curl批量打开网址(curl_multi类)的实现代码
  • php curl如何获取返回值
  • PHP使用CURL获取302跳转后的地址实例
  • 关于PHP的curl开启问题探讨
  • PHP CURL获取返回值的方法
  • Curl封装类Curl.class.php及调用方法
  • php curl存储cookie实例
  • php curl post 时出现的问题解决
  • php中curl和file_get_content的区别
  • php curl伪造IP与来源示例
  • PHP curl实现抓取302跳转后页面的示例
  • php curl post 时出现问题的解决方法
  • php使用curl发送json格式数据实例
  • php curl伪造ip的简单例子
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS
  • php通过socket_bind()设置IP地址代码示例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3