当前位置: 首页>>代码示例>>PHP>>正文


PHP Client::headers方法代码示例

本文整理汇总了PHP中Zend\Http\Client::headers方法的典型用法代码示例。如果您正苦于以下问题:PHP Client::headers方法的具体用法?PHP Client::headers怎么用?PHP Client::headers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Zend\Http\Client的用法示例。


在下文中一共展示了Client::headers方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: performHttpRequest

    /**
     * Performs a HTTP request using the specified method
     *
     * @param string $method The HTTP method for the request - 'GET', 'POST',
     *                       'PUT', 'DELETE'
     * @param string $uri The URL to which this request is being performed
     * @param array $headers An associative array of HTTP headers
     *                       for this request
     * @param string $body The body of the HTTP request
     * @param string $contentType The value for the content type
     *                                of the request body
     * @param int $remainingRedirects Number of redirects to follow if request
     *                              s results in one
     * @return \Zend\Http\Response The response object
     */
    public function performHttpRequest($method, $uri, $headers = null,
        $body = null, $contentType = null, $remainingRedirects = null)
    {
        if ($remainingRedirects === null) {
            $remainingRedirects = self::getMaxRedirects();
        }
        if ($headers === null) {
            $headers = array();
        }

        // Append a Gdata version header if protocol v2 or higher is in use.
        // (Protocol v1 does not use this header.)
        $major = $this->getMajorProtocolVersion();
        $minor = $this->getMinorProtocolVersion();
        if ($major >= 2) {
            $headers['GData-Version'] = $major +
                    (($minor === null) ? '.' + $minor : '');
        }

        // check the overridden method
        if (($method == 'POST' || $method == 'PUT') && $body === null &&
            $headers['x-http-method-override'] != 'DELETE') {
                throw new App\InvalidArgumentException(
                        'You must specify the data to post as either a ' .
                        'string or a child of Zend\GData\App\Entry');
        }
        if ($uri === null) {
            throw new App\InvalidArgumentException(
                'You must specify an URI to which to post.');
        }
        //$headers['Content-Type'] = $contentType;
        if (self::getGzipEnabled()) {
            // some services require the word 'gzip' to be in the user-agent
            // header in addition to the accept-encoding header
            if (strpos($this->_httpClient->headers()->get('User-Agent'),
                'gzip') === false) {
                $headers['User-Agent'] =
                    $this->_httpClient->headers()->get('User-Agent') . ' (gzip)';
            }
            $headers['Accept-encoding'] = 'gzip, deflate';
        } else {
            $headers['Accept-encoding'] = 'identity';
        }

        // Make sure the HTTP client object is 'clean' before making a request
        // In addition to standard headers to reset via resetParameters(),
        // also reset the Slug and If-Match headers
        $this->_httpClient->resetParameters();
        $this->_httpClient->setHeaders(array('Slug' => 'If-Match'));

        // Set the params for the new request to be performed
        $this->_httpClient->setHeaders($headers);
        $uriObj = Uri\UriFactory::factory($uri);
        preg_match("/^(.*?)(\?.*)?$/", $uri, $matches);
        $this->_httpClient->setUri($matches[1]);
        $queryArray = $uriObj->getQueryAsArray();
        $this->_httpClient->setParameterGet($queryArray);


        $this->_httpClient->setOptions(array('maxredirects' => 0));

        // Set the proper adapter if we are handling a streaming upload
        $usingMimeStream = false;
        $oldHttpAdapter = null;

        if ($body instanceof \Zend\GData\MediaMimeStream) {
            $usingMimeStream = true;
            $this->_httpClient->setRawDataStream($body, $contentType);
            $oldHttpAdapter = $this->_httpClient->getAdapter();

            if ($oldHttpAdapter instanceof \Zend\Http\Client\Adapter\Proxy) {
                $newAdapter = new HttpAdapterStreamingProxy();
            } else {
                $newAdapter = new HttpAdapterStreamingSocket();
            }
            $this->_httpClient->setAdapter($newAdapter);
        } else {
            $this->_httpClient->setRawBody($body);
        }

        try {
            $this->_httpClient->setMethod($method);
            $response = $this->_httpClient->send();
            // reset adapter
            if ($usingMimeStream) {
//.........这里部分代码省略.........
开发者ID:niallmccrudden,项目名称:zf2,代码行数:101,代码来源:App.php


注:本文中的Zend\Http\Client::headers方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。