Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1293315
  • 博文数量: 315
  • 博客积分: 10397
  • 博客等级: 上将
  • 技术积分: 3731
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-07 21:21
文章分类

全部博文(315)

文章存档

2015年(10)

2014年(3)

2013年(2)

2012年(8)

2011年(8)

2010年(29)

2009年(59)

2008年(77)

2007年(119)

分类:

2008-02-26 16:39:16

Zend_Http_Client提供了一个预形成http请求的简易接口,它支持大多数简单的特征

,以及一些更复杂的特征,比如HTTP认证和文件上传。请求成功(以及很多不成功的

也是一样)返回一个Zend_Http_Response对象,这个对象提供了访问响应的头部和实

体。

该类构造器有选择性的接受一个URL作为它的第一个参数(既可以是一个字符串也可以

是一个Zend_Uri_Http对象),和一个可选的配置参数数组。不过它们都可以被省去,直到用

setUri()setConfig()方法来设定

发起基本http请求:

Request()方法获得一个可选参数――请求的方式。可以是被http协议定义的GETPOST,PUT,HEAD,DELETE,TRACE,OPTIONS,CONNECT任何一种,不过为了方便起见,这些都被定义成一个类的常量:Zend_Http_Request::GET/POST等等

如果请求的方式没有确定,就由最后一次访问setMethod()来确定,如果setMethod()从未被访问,缺省的请求方式是GET,如下例:

1、发起一个简单GET请求


require_once 'Zend/Http/Client.php';

$client = new Zend_Http_Client('');
$response $client->request();

2、使用GET以外的请求方式


// Preforming a POST request
$response $client->request('POST');

// Yet another way of preforming a POST request
$client->setMethod(Zend_Http_Client::POST);
$response $client->request();

添加GETPOST参数:

添加GET参数来发起一个HTTP请求是非常简单的,既可以设定为URL的一部分,也可以使用setParameterGet()方法。该方法把GET参数的名字作为它的第一个参数,GET参数的值作为第二个参数。方便起见,setParameterGEt()方法可以接受一个GET变量的关联数组键值对。如下例所示:


// Setting a get parameter using the setParameterGet method
$client->setParameterGet('knight''lancelot');

// This is equivalent to setting such URL:
$client->setUri('');

// Adding several parameters with one call
$client->setParameterGet(array(
    
'first_name'  => 'Bender',
    
'middle_name' => 'Bending'
    'made_in'     
=> 'Mexico',
));

GET参数能被每次请求发送,POST参数仅在POST请求的实体中发送。方式和GET一样,使用setParameterPost()方法,如例:


// Setting a POST parameter
$client->setParameterPost('language''fr');

// Setting several POST parameters, one of them with several values
$client->setParameterPost(array(
    
'language'  => 'es',
    
'country'   => 'ar',
    
'selection' => array(453280)

));

Zend_Http_Client提供了一个访问最后一次发送请求和响应接受的方法。Zend_Http_Client->getLastRequest()Zend_Http_Client->getLastResponse()


阅读(2193) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~