本文整理汇总了PHP中HTTPRequest::getResponseHeader方法的典型用法代码示例。如果您正苦于以下问题:PHP HTTPRequest::getResponseHeader方法的具体用法?PHP HTTPRequest::getResponseHeader怎么用?PHP HTTPRequest::getResponseHeader使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HTTPRequest
的用法示例。
在下文中一共展示了HTTPRequest::getResponseHeader方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _send_message
/**
* Sends the HTTP message [Request] to a remote server and processes
* the response.
*
* @param Request $request request to send
* @param Response $request response to send
* @return Response
*/
public function _send_message(Request $request, Response $response)
{
$http_method_mapping = array(HTTP_Request::GET => HTTPRequest::METH_GET, HTTP_Request::HEAD => HTTPRequest::METH_HEAD, HTTP_Request::POST => HTTPRequest::METH_POST, HTTP_Request::PUT => HTTPRequest::METH_PUT, HTTP_Request::DELETE => HTTPRequest::METH_DELETE, HTTP_Request::OPTIONS => HTTPRequest::METH_OPTIONS, HTTP_Request::TRACE => HTTPRequest::METH_TRACE, HTTP_Request::CONNECT => HTTPRequest::METH_CONNECT);
// Create an http request object
$http_request = new HTTPRequest($request->uri(), $http_method_mapping[$request->method()]);
if ($this->_options) {
// Set custom options
$http_request->setOptions($this->_options);
}
// Set headers
$http_request->setHeaders($request->headers()->getArrayCopy());
// Set cookies
$http_request->setCookies($request->cookie());
// Set query data (?foo=bar&bar=foo)
$http_request->setQueryData($request->query());
// Set the body
if ($request->method() == HTTP_Request::PUT) {
$http_request->addPutData($request->body());
} else {
$http_request->setBody($request->body());
}
try {
$http_request->send();
} catch (HTTPRequestException $e) {
throw new Request_Exception($e->getMessage());
} catch (HTTPMalformedHeaderException $e) {
throw new Request_Exception($e->getMessage());
} catch (HTTPEncodingException $e) {
throw new Request_Exception($e->getMessage());
}
// Build the response
$response->status($http_request->getResponseCode())->headers($http_request->getResponseHeader())->cookie($http_request->getResponseCookies())->body($http_request->getResponseBody());
return $response;
}
示例2: call
function call()
{
if (func_num_args() < 1) {
return false;
}
$request = new HTTPRequest();
$request->method = 'POST';
$request->url = $this->url;
$request->contentType = 'text/xml';
$request->async = $this->async;
ob_start();
echo '<?xml version="1.0" encoding="utf-8"?><methodCall><methodName>' . func_get_arg(0) . '</methodName><params>';
for ($i = 1; $i < func_num_args(); $i++) {
echo '<param>';
echo $this->_encodeValue(func_get_arg($i));
echo '</param>';
}
echo '</params></methodCall>';
$request->content = ob_get_contents();
ob_end_clean();
if (!$request->send()) {
return false;
}
if ($this->async) {
return true;
}
if (!is_null($request->getResponseHeader('Content-Type')) && $request->getResponseHeader('Content-Type') != 'text/xml') {
return false;
}
$xmls = new XMLStruct();
$request->responseText = preg_replace_callback('/&#([0-9a-fx]+);/mi', 'replace_num_entity', $request->responseText);
$xmls->open($request->responseText);
if ($xmls->error) {
return false;
}
if (isset($xmls->struct['methodResponse'][0]['fault'][0]['value'])) {
$this->fault = $this->_decodeValue($xmls->struct['methodResponse'][0]['fault'][0]['value'][0]);
} else {
if (isset($xmls->struct['methodResponse'][0]['params'][0]['param'][0]['value'])) {
$this->result = $this->_decodeValue($xmls->struct['methodResponse'][0]['params'][0]['param'][0]['value'][0]);
} else {
return false;
}
}
return true;
}
示例3: _http_execute
/**
* Execute the request using the PECL HTTP extension. (recommended)
*
* @param Request $request Request to execute
* @return Response
*/
protected function _http_execute(Request $request)
{
$http_method_mapping = array(HTTP_Request::GET => HTTPRequest::METH_GET, HTTP_Request::HEAD => HTTPRequest::METH_HEAD, HTTP_Request::POST => HTTPRequest::METH_POST, HTTP_Request::PUT => HTTPRequest::METH_PUT, HTTP_Request::DELETE => HTTPRequest::METH_DELETE, HTTP_Request::OPTIONS => HTTPRequest::METH_OPTIONS, HTTP_Request::TRACE => HTTPRequest::METH_TRACE, HTTP_Request::CONNECT => HTTPRequest::METH_CONNECT);
// Create an http request object
$http_request = new HTTPRequest($request->uri(), $http_method_mapping[$request->method()]);
// Set custom options
$http_request->setOptions($this->_options);
// Set headers
$http_request->setHeaders($request->headers()->getArrayCopy());
// Set cookies
$http_request->setCookies($request->cookie());
// Set body
$http_request->setBody($request->body());
try {
$http_request->send();
} catch (HTTPRequestException $e) {
throw new Kohana_Request_Exception($e->getMessage());
} catch (HTTPMalformedHeaderException $e) {
throw new Kohana_Request_Exception($e->getMessage());
} catch (HTTPEncodingException $e) {
throw new Kohana_Request_Exception($e->getMessage());
}
// Create the response
$response = $request->create_response();
// Build the response
$response->status($http_request->getResponseCode())->headers($http_request->getResponseHeader())->cookie($http_request->getResponseCookies())->body($http_request->getResponseBody());
return $response;
}