本文整理汇总了PHP中HTTPRequest::setBody方法的典型用法代码示例。如果您正苦于以下问题:PHP HTTPRequest::setBody方法的具体用法?PHP HTTPRequest::setBody怎么用?PHP HTTPRequest::setBody使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HTTPRequest
的用法示例。
在下文中一共展示了HTTPRequest::setBody方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: _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;
}
示例3: urlencode
// over and over to demonstrate the performance benefit of keeping your
// TCP connection alive between requests. By minimizing the HTTP overhead
// in this manner, you nearly double your speed.
// Your authentication ID/token (obtained in your SmartyStreets account)
$authId = urlencode("raw id here");
$authToken = urlencode("raw token here");
// The REST endpoint
$url = "https://api.smartystreets.com/street-address/?auth-id={$authId}&auth-token={$authToken}";
// Your input to the API...
$addresses = array(array("street" => "1 infinite loop", "city" => "cupertino", "state" => "ca", "zipcode" => "95014", "candidates" => 10), array("street" => "1600 pennsylvania Ave.", "zipcode" => "20500", "candidates" => 3));
// LiveAddress API expects JSON input by default, but you could send XML
// if you set the Content-Type header to "text/xml".
$post = json_encode($addresses);
// Prepare the POST request, and set the body of it.
$request = new HTTPRequest($url, HTTP_METH_POST);
$request->setBody($post);
// Simple statistic variables
$max = 0;
$min = 99999999;
$sum = 0;
$requests = 100;
echo "<pre>";
// Do the requests, and time it
for ($i = 0; $i < $requests; $i++) {
$start = microtime(true);
$request->send();
// In a real case, you'd call setBody() before this, to do the next 100 addresses
$end = microtime(true);
$ms = ($end - $start) * 1000;
// For the record, you can get the response with:
// $response = $request->getResponseBody();
示例4: send
/**
* 发送notification或message。请阅读友盟文档。
*/
public function send($data)
{
$token = $this->grantToken();
$newData = $data;
foreach ($token as $k => $v) {
$newData[$k] = $v;
}
//必填 消息发送类型,其值为unicast,listcast,broadcast,groupcast或customizedcast
if (!isset($data['type'])) {
throw new Exception('need param: type');
}
// 可选 当type=customizedcast时,开发者填写自己的alias,友盟根据alias进行反查找,得到对应的device_token。多个alias时用英文逗号分,不能超过50个。
if (isset($data['alias']) && !empty($data['alias'])) {
if (is_array($data['alias'])) {
$newData['alias'] = implode(',', $data['alias']);
} else {
$newData['alias'] = $data['alias'];
}
}
// 必填 消息类型,值为notification或者message
if (!isset($data['payload']['display_type'])) {
$newData['payload']['display_type'] = 'notification';
}
// 必填 通知栏提示文字。但实际没有用,todo确认
if (!isset($data['payload']['body']['ticker'])) {
$newData['payload']['body']['ticker'] = $data['payload']['body']['title'];
}
//可选 消息描述。用于友盟推送web管理后台,便于查看。
if (!isset($data['description'])) {
$newData['description'] = $data['payload']['body']['title'];
}
$defaultTrueParams = array('play_vibrate', 'play_lights', 'play_sound');
foreach ($defaultTrueParams as $one) {
if (isset($data['payload']['body'][$one]) && ($data['payload']['body'][$one] == false || $data['payload']['body'][$one] == 'false')) {
$newData['payload']['body'][$one] = 'false';
}
}
$http = new \HTTPRequest($this->conf['api_uri_prefix'] . 'api/send', HTTP_METH_POST);
$http->setBody(json_encode($newData));
$http->send();
$body = $http->getResponseBody();
if ($http->getResponseCode() != 200) {
throw new Exception($body);
}
$tmp = json_decode($body, true);
if (!isset($tmp['ret']) || $tmp['ret'] != 'SUCCESS') {
throw new Exception($body);
}
return true;
}