第28篇 HTTP服务(Zend_Http).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第28章 HTTP服务(Zend_Http) HTTP是出现时间最长,也是目前使用最为广泛的网络应用服务之一。在互联网诞生时,HTTP就随之而来。随着技术的发展,各种新的应用层出不穷,然而HTTP服务仍以其旺盛的生命力占据了网络应用的重要份额。在Zend Framework的服务类组件中就提供了Zend_Http组件,专门用于处理与HTTP相关的业务。Zend_Http组件包括Zend_Http_Client、Zend_Http_Cookie与Zend_Http_Response几个部分。其中,Zend_Http_Client在其中居于最重要的地位。本章就分别介绍有关Zend_Http组件的内容。 28.1 Zend_Http_Client基本用法 Zend_Http_Client类是一个接口。该类为那些需要执行HTTP请求的程序提供了方便。Zend_Http_Client可以执行GET、POST、PUT和DELETE等基于HTTP的请求。本节先来介绍Zend_Http_Client的最基本用法。 注意:默认情况下Zend_Http_Client将追踪5次HTTP重定向。要改变这个行为,可以使用setConfig()方法(该方法在28.1.4小节详细介绍)。 28.1.1 创建Zend_Http_Client对象 通过使用new关键字与类Zend_Http_Client的构造方法,可以建立一个Zend_Http_Client对象。其构造方法的语法格式如以下代码所示。 construct($uri=null, $config=null) new Zend_Http_Client($url,$config) 28.1.2 获取与设置URI 在创建一个Zend_Http_Client对象之后,可以通过对象的getUri()方法来获取对象的URI。该方法的语法格式如以下代码所示。 getUri($as_string=false) 另外,如果在创建Zend_Http_Client对象时没有指定$uri参数,或者要改变对象的URI可以通过方法setUri()对其进行设置。该方法的语法格式如以下代码所示。 setUri($uri) 28.1.3 设置与获取头部信息 对一个HTTP页面来说,通常其头部信息(Header information)中包含有该页的一些主要相关信息。获取此信息会有助于了解该页面。下面依次讲解如何设置头部信息和获取已有的头部信息。 1.设置头部信息 2.获取头部信息 28.1.4 修改各项设置 Zend_Http_Client对象有一个protected属性$config,该属性为一个数组型变量。其中保存有与对象各种行为紧密相关的配置。其内容有以下几项。 maxredirects: strictredirects: useragent: timeout: adapter: httpversion: keepalive: storeresponse: 28.1.5 执行请求并获取内容 使用Zend_Http_Client对象执行请求并获取其内容,可以按照以下步骤进行。 (1)创建一个Zend_Http_Client对象。 (2)执行该对象的request()方法返回一个Zend_Http_Response对象。 (3)通过Zend_Http_Response的getBody()方法获取页面内容。 28.2 Zend_Http_Client高级用法 上一节介绍了Zend_Http_Client类的基本用法。除了上一节所介绍的各种使用方法之外,该类还有诸如:实现页面重定向、设置Cookie、实现文件上传以及HTTP认证等高级用法。本节将就这些高级用法分别向读者做进一步的讲解。 28.2.1 HTTP重定向 默认情况下,Zend_Http_Client将会自动地处理HTTP重定向,并允许最多跟踪5次重定向。该值可以通过使用setConfig()方法修改$config的maxredirects选项进行设置(具体内容请参见28.1.4小节)。 与HTTP/1.1 RFC(Request For Comments请求注解)一致,HTTP 301 and 302(永久转向与暂时转向)请求将会被Client以相同的请求方法发送到指定的位置。但是很多的Client并不这样执行,当页面重定向时它总是向新的地址使用GET方法。默认情况下,Zend_Http_Client也这样处理。当读取到301或者302转向的请求时,所有的GET和POST参数都将被重置,而都以一个GET请求的形式被发送到一个新的地址。该行为可以通过将$config数组的strictredirects配置项设置为True来改变。 28.2.2

文档评论(0)

0520 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档