HttpRequestService.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. namespace App\Service\Util\Support\Http;
  3. use GuzzleHttp\Client;
  4. class HttpRequestService
  5. {
  6. /**
  7. * 发送post请求
  8. * @param $url 请求地址
  9. * @param $accessToken 请求access_token
  10. * @param $postMessage 请求体
  11. * @return array
  12. */
  13. public static function simplePost($url, $postMessage) {
  14. $client = new Client(['timeout' => 10]);
  15. try {
  16. $res = $client->post(
  17. $url,
  18. [
  19. 'json' => $postMessage
  20. ]);
  21. $httpStatusCode = $res->getStatusCode();
  22. $httpContent = $res->getBody()->getContents();
  23. $parsedContent = json_decode($httpContent, true);
  24. if (200 == $httpStatusCode) {
  25. return $parsedContent;
  26. }
  27. } catch (\Exception $exception) {
  28. myLog('RequestWechat')->error('请求上游失败:', [
  29. 'url' => $url,
  30. 'json' => $postMessage,
  31. 'exceptionMessage' => $exception->getMessage(),
  32. ]);
  33. }
  34. return false;
  35. }
  36. public static function post($url, $options) {
  37. $client = new Client(['timeout' => 10]);
  38. try {
  39. $res = $client->request('POST', $url, $options);
  40. $httpStatusCode = $res->getStatusCode();
  41. $httpContent = $res->getBody()->getContents();
  42. $parsedContent = json_decode($httpContent, true);
  43. if (200 == $httpStatusCode) {
  44. return $parsedContent;
  45. }
  46. } catch (\Exception $exception) {
  47. myLog('RequestWechat')->error('请求上游失败:', [
  48. 'url' => $url,
  49. 'exceptionMessage' => $exception->getTraceAsString(),
  50. ]);
  51. }
  52. return false;
  53. }
  54. public static function simpleGet($url, $query) {
  55. $client = new Client(['timeout' => 10]);
  56. try {
  57. $response = $client->get($url, [
  58. 'query' => $query
  59. ]);
  60. $httpStatusCode = $response->getStatusCode();
  61. $httpContent = $response->getBody()->getContents();
  62. $parsedContent = json_decode($httpContent, true);
  63. if (200 == $httpStatusCode) {
  64. return $parsedContent;
  65. }
  66. } catch (\Exception $exception) {
  67. myLog('HttpRequest')->error('请求上游失败:', [
  68. 'url' => $url,
  69. 'query' => $query,
  70. 'exceptionMessage' => $exception->getMessage(),
  71. ]);
  72. }
  73. return false;
  74. }
  75. }