12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- /*
- * Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
- namespace TencentCloud\Common\Http;
- use GuzzleHttp\Client;
- /**
- * http连接类
- * @package TencentCloud\Common\http
- */
- class HttpConnection
- {
- private $client;
- private $profile;
- function __construct($url, $profile)
- {
- $this->client = new Client(["base_uri" => $url]);
- $this->profile = $profile;
- }
- private function getOptions()
- {
- $options = ["allow_redirects" => false];
- $options["timeout"] = $this->profile->getHttpProfile()->getReqTimeout();
- $options["proxy"] = $this->profile->getHttpProfile()->getProxy();
- return $options;
- }
- public function getRequest($uri = '', $query = [], $headers = [])
- {
- $options = $this->getOptions();
- if ($query) {
- $options["query"] = $query;
- }
- if ($headers) {
- $options["headers"] = $headers;
- }
- return $this->client->get($uri, $options);
- }
- public function postRequest($uri = '', $headers = [], $body = '')
- {
- $options = $this->getOptions();
- if ($headers) {
- $options["headers"] = $headers;
- }
- if ($body) {
- $options["form_params"] = $body;
- }
- return $this->client->post($uri, $options);
- }
- public function postRequestRaw($uri = '', $headers = [], $body = '')
- {
- $options = $this->getOptions();
- if ($headers) {
- $options["headers"] = $headers;
- }
- if ($body) {
- $options["body"] = $body;
- }
- return $this->client->post($uri, $options);
- }
- }
|