Zend_http_Client学习

//取得一个Zend_Http_Client对象,并进行配置
$client = new Zend_Http_Client(
'http://example.org', //目标主机
array(
'maxredirects' => 0, 
'timeout' => 30 //链接超时时间
)
);
//发送HTTP请求,并将返回的数据保存到$response
$response = $client->request(); //默认为GET方法,可以在request()函数中指定发送请求的方法。
//$response = $client->request("POST");

Zend_Http_Client 配置参数

参数描述值的类型缺省值
maxredirects随后的重定向的最大值 (0 = none)整数5
strict是否执行头部名称的确认,当设置为 False 时,将忽略确认,通常情况下不应改变这个参数的值。布尔值true
strictredirects重定向时是否严格遵守 RFC (见 第 19.2.1 节 “HTTP Redirections”)布尔值false
useragent用户代理的识别字符串(含在请求的头部信息内)字符串'Zend_Http_Client'
timeout连接超时 (单位是秒)整数10
httpversionHTTP 协议版本 (通常是 '1.1' 或 '1.0')字符串'1.1'
adapter连接适配器类时使用(见 第 19.3 节 “Zend_Http_Client - Connection Adapters”多种类型'Zend_Http_Client_Adapter_Socket'
keepalive是否允许与服务器之间的 keep-alive 连接。如果在同一台服务器上 执行几个互相关联的请求时,keep-alive 连接是有用的而且有可能提高性能。布尔值false
storeresponse是否保存上次的响应结果,以备今后使用getLastResponse()重新获取。如果设置为 false,getLastResponse() 将返回空。布尔值true
//为GET方法设置参数
// 使用 setParameterGet 方法设置一个 GET 参数
$client->setParameterGet('knight', 'lancelot');
// 设置 URL 的等效方法
$client->setUri('http://example.com/index.php?knight=lancelot');

//为POST方法设置参数
// 设置一个 POST 参数
$client->setParameterPost('language', 'fr');

// 设置几个 POST 参数,其中的一个参数有几个值
$client->setParameterPost(array(
'language' => 'es',
'country' => 'ar',
'selection' => array(45, 32, 80)
));

//使用COOKIE

$client->setCookie('flavor', 'chocolate chips'); //Cookie名称与值
$client->setCookie('flavor=chocolate%20chips'); //Cookie值必须经过URL编码

// By providing a Zend_Http_Cookie object
$cookie = Zend_Http_Cookie::fromString('flavor=chocolate%20chips');
$client->setCookie($cookie);

//定义头信息

// Setting a single header, overwriting any previous value
$client->setHeaders('Host', 'www.example.com');

// Another way of doing the exact same thing
$client->setHeaders('Host: www.example.com');

// Setting several values for the same header
// (useful mostly for Cookie headers):
$client->setHeaders('Cookie', array(
'PHPSESSID=1234567890abcdef1234567890abcdef',
'language=he'
));

//上传文件

// Uploading arbitrary data as a file
$text = 'this is some plain text';
$client->setFileUpload('some_text.txt', 'upload', $text, 'text/plain');

// Uploading an existing file
$client->setFileUpload('/tmp/Backup.tar.gz', 'bufile');

// Send the files
$client->request('POST');

//发送原始POST数据

$xml = '<book>' .
' <title>Islands in the Stream</title>' .
' <author>Ernest Hemingway</author>' .
' <year>1970</year>' .
'</book>';

$client->setRawData($xml, 'text/xml')->request('POST');

// Another way to do the same thing:
$client->setRawData($xml)->setEncType('text/xml')->request('POST');


//HTTP认证

// Using basic authentication
$client->setAuth('shahar', 'myPassword!', Zend_Http_Client::AUTH_BASIC);

// Since basic auth is default, you can just do this:
$client->setAuth('shahar', 'myPassword!');



//使用HTTPS传输层


// Set the configuration parameters
$config = array(
'adapter' => 'Zend_Http_Client_Adapter_Socket',
'ssltransport' => 'tls'
);

// Instantiate a client object
$client = new Zend_Http_Client('https://www.example.com', $config);

// The following request will be sent over a TLS secure connection.
$response = $client->request();


使用代理发送HTTP请
$config = array(
'adapter' => 'Zend_Http_Client_Adapter_Proxy', //设置适配器
'proxy_host' => 'proxy.int.zend.com',       //设置代理网址
'proxy_port' => 8000,               //设置代理服务器商品
'proxy_user' => 'shahar.e', //设置代理服务器用户名
'proxy_pass' => 'bananashaped' //设置代理服务器密码
);

//使用代理服务器,向网址发送请求。
$client = new Zend_Http_Client('http://www.example.com', $config);

转载于:https://www.cnblogs.com/DannyCheung/archive/2011/11/01/2232272.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值