Zend_Http_Client 执行http请求 --(手册)
来源:互联网 发布:windows 评估副本 编辑:程序博客网 时间:2024/06/05 19:12
1. 介绍
Zend_Http_Client 提供了一个简单的界面来执行HTTP请求。Zend_Http_Client 支持 作为一个 HTTP 客户端应有的大多数简单功能,也包括象HTTP认证和文件上传等更加复杂的功能。成功的请求和大多数失败的请求将返回一个 Zend_Http_Response 对象, 该对象提供了对响应的头部信息和主体信息的访问。
构造器类可选的第一个参数可以是一个URL(字符串或者 Zend_Uri_Http 对象), 第二个可选参数是一个包含配置参数的数组。这两个参数也可以全空,之后由 setUri()和setConfig()方法提供。
Example 1. 初始化一个 Zend_Http_Client 对象
$client = newZend_Http_Client('http://example.org', array( 'maxredirects' => 0, 'timeout' => 30)); // 上述代码和下面的代码是两种不同的写法$client = newZend_Http_Client();$client->setUri('http://example.org');$client->setConfig(array( 'maxredirects' => 0, 'timeout' => 30));<strong> </strong>
2. 执行基本 HTTP请求
使用 request() 方法执行简单 HTTP 请求是件非常容易的事情,3行代码即可搞定:
Example2. 执行一个简单的 GET 请求
$client = newZend_Http_Client('http://example.org');$response = $client->request();
request() 带一个可选的参数 - 请求方法,它可以是 GET, POST, PUT, HEAD, DELETE,TRACE, OPTIONS 或 CONNECT 等由HTTP 协议定义的方法。[6]. 为了方便起见,这些都被定义为类的常量:即 Zend_Http_Request::GET, Zend_Http_Request::POST 等等。
如果没有指定请求方法,则使用最后一次 setMethod() 设定的请求方法。 如果从未使用 setMethod(),那么缺省的请求方法是 GET(见上述的例子)。
Example.3. 使用 GET 以外的请求方法
// 执行一个 POST 请求$response = $client->request('POST');// 另外一种执行 POST 请求的方式$client->setMethod(Zend_Http_Client::POST);$response = $client->request();
3. 添加 GET和 POST 参数
在一个HTTP请求中添加GET参数是非常简单的,既可以通过把参数指定为 URL的一部分,也可以通过使用 setParameterGet() 方法来添加。这个方法把把GET参数的名称作为它的第一个参数,把GET参数的值作为它的第二个参数。为了方便起见,setParameterGet() 方法也能接受单个复合数组 (名称 => 值)的 GET 参数,这种方式对于需要设置几个 GET 参数时更 加方便。
Example 4. 设置GET 参数
// 使用 setParameterGet 方法设置一个 GET 参数$client->setParameterGet('knight', 'lancelot'); // 设置 URL 的等效方法$client->setUri('http://example.com/index.php?knight=lancelot'); // 一次添加几个参数$client->setParameterGet(array( 'first_name' => 'Bender', 'middle_name' => 'Bending' 'made_in' => 'Mexico',));
虽然 GET 参数可以和任何请求方法一起发送,但 POST 参数只能在 POST 请求内发送。给一个请求添加 POST 参数与添加 GET 参数非常类似,是由 setParameterPost() 方法完成的,该方法在结构上与 setParameterGet() 方法很相似。
Example 5. 设置 POST 参数
// 设置一个 POST 参数$client->setParameterPost('language', 'fr'); // 设置几个 POST 参数,其中的一个参数有几个值$client->setParameterPost(array( 'language' => 'es', 'country' => 'ar', 'selection' => array(45, 32, 80)));
需要注意的是,当发送 POST 请求时,即可设置GET参数,也可设置POST参数。 另一方面,如果针对一个非 POST 请求设置 POST 参数,将不会被触发或给出 报错,因为它是没有用的。除非请求是一个 POST 请求,POST 参数都会被简 单地忽略掉。
4. 访问最后一次的请求和响应
Zend_Http_Client提供了访问客户端最后一次发送的请求和访问客户端最后一次接收到的响应的方法。Zend_Http_Client->getLastRequest()
不需要设置参数,同时 返回最后一次客户端发送的HTTP请求字符串。同样,Zend_Http_Client->getLastResponse()
返回客户端接收到的 最后一次Zend_Http_Response 对象。
- Zend_Http_Client 执行http请求 --(手册)
- ABAP http_client执行http请求
- 使用AsyncTask执行HTTP请求
- LotusScript代码执行Http请求
- linux下执行http请求
- Java异步执行多个HTTP请求的例子(需要apache http类库)
- java执行http请求乱码解决
- Liberty nova-api HTTP请求执行流程
- boost执行http的GET请求
- Nginx重试引发Http请求重复执行
- Gauge中执行Http请求测试
- 解决angularjs中同步执行http请求
- OkHttp3 HTTP请求执行流程分析
- linux发送http请求不执行原因 请求头
- Servlet处理Http请求的执行过程(Servlet核心流程)
- Android网络框架之Http请求的分发与执行(三)
- c# http请求执行超时,解决办法(给某个方法设定超时时间)
- Angular中http请求后再执行封装的echarts指令($watch)
- hdu 1277 全文检索(ac自动机模板)
- JGroups 手册
- DeepLearning tutorial(4)CNN卷积神经网络原理简介+代码详解
- 真分页!从微软官网找过来的笔记
- 线程死锁
- Zend_Http_Client 执行http请求 --(手册)
- C#实现将图片另存到新建的文件夹中
- DeepLearning tutorial(5)CNN卷积神经网络应用于人脸识别(详细流程+代码实现)
- hdu1878欧拉回路(DFS+欧拉回路)
- java IO 总结 (待续)
- RabbitMQ源码解析前奏--管理与监控
- 树形DP - hdu5293 Tree chain problem
- std::allocator 的简单用法
- Android Universal Image Loader 源码分析(二)