<?php namespace App\Service\Util\Support\Http; use GuzzleHttp\Client; class HttpRequestService { /** * 发送post请求 * @param $url 请求地址 * @param $accessToken 请求access_token * @param $postMessage 请求体 * @return array */ public static function simplePost($url, $postMessage) { $client = new Client(['timeout' => 10]); try { $res = $client->post( $url, [ 'json' => $postMessage ]); $httpStatusCode = $res->getStatusCode(); $httpContent = $res->getBody()->getContents(); $parsedContent = json_decode($httpContent, true); if (200 == $httpStatusCode) { return $parsedContent; } } catch (\Exception $exception) { myLog('HttpRequest')->error('请求上游失败:', [ 'url' => $url, 'postJson' => $postMessage, 'exceptionMessage' => $exception->getMessage(), ]); } return false; } public static function post($url, $options) { $client = new Client(['timeout' => 10]); try { $res = $client->request('POST', $url, $options); $httpStatusCode = $res->getStatusCode(); $httpContent = $res->getBody()->getContents(); $parsedContent = json_decode($httpContent, true); if (200 == $httpStatusCode) { return $parsedContent; } } catch (\Exception $exception) { myLog('HttpRequest')->error('请求上游失败:', [ 'url' => $url, 'postOptions' => $options, 'exceptionMessage' => $exception->getMessage(), ]); } return false; } public static function simpleGet($url, $query) { $client = new Client(['timeout' => 10]); try { $response = $client->get($url, [ 'query' => $query ]); $httpStatusCode = $response->getStatusCode(); $httpContent = $response->getBody()->getContents(); $parsedContent = json_decode($httpContent, true); if (200 == $httpStatusCode) { return $parsedContent; } } catch (\Exception $exception) { myLog('HttpRequest')->error('请求上游失败:', [ 'url' => $url, 'query' => $query, 'exceptionMessage' => $exception->getMessage(), ]); } return false; } }