HttpRequestJson.php 3.02 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
<?php
/**
 * Created by PhpStorm.
 * User: Zero
 * Date: 2020/8/19
 * Time: 9:06
 */

namespace Meibuyu\Micro\Tools;

11 12
//use GuzzleHttp\Client;
//use Psr\Http\Message\ResponseInterface;
13 14 15 16 17 18 19 20 21

/**
 * json格式请求(非协程)
 * Class HttpRequestJson
 * @package Meibuyu\Micro\Tools
 */
class HttpRequestJson
{

王源's avatar
王源 committed
22
    protected static function prepareRequest($headers, $data = [])
23 24
    {
        $data = json_encode($data);
王源's avatar
王源 committed
25
        if (!empty($data)) {
26 27 28
            $headers['Content-type'] = 'application/json';
            $headers['Content-Length'] = strlen($data);
        }
王源's avatar
王源 committed
29
        return [$headers, $data];
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
    }

//    /**
//     * get请求
//     * @param $url
//     * @param array $httpHeaders
//     * @return ResponseInterface
//     */
//    public static function get($url, $httpHeaders = [])
//    {
//        $client = new Client(['timeout' => 30]);
//        return $client->get($url, ['headers' => $httpHeaders]);
//    }
//
//    /**
//     * post请求
//     * @param $url
王源's avatar
王源 committed
47
//     * @param $data
48 49 50
//     * @param array $httpHeaders
//     * @return ResponseInterface
//     */
王源's avatar
王源 committed
51
//    public static function post($url, $data, $httpHeaders = [])
52 53
//    {
//        $client = new Client(['timeout' => 30]);
王源's avatar
王源 committed
54
//        return $client->post($url, ['headers' => $httpHeaders, 'json' => $data]);
55 56 57 58 59
//    }
//
//    /**
//     * put请求
//     * @param $url
王源's avatar
王源 committed
60
//     * @param $data
61 62 63
//     * @param array $httpHeaders
//     * @return ResponseInterface
//     */
王源's avatar
王源 committed
64
//    public static function put($url, $data, $httpHeaders = [])
65 66
//    {
//        $client = new Client(['timeout' => 30]);
王源's avatar
王源 committed
67
//        return $client->put($url, ['headers' => $httpHeaders, 'json' => $data]);
68 69 70 71 72 73 74 75 76 77 78 79 80 81
//    }
//
//    /**
//     * delete请求
//     * @param $url
//     * @param array $httpHeaders
//     * @return ResponseInterface
//     */
//    public static function delete($url, $httpHeaders = [])
//    {
//        $client = new Client(['timeout' => 30]);
//        return $client->delete($url, ['headers' => $httpHeaders]);
//    }

82 83 84
    /**
     * get请求
     * @param $url
85 86
     * @param array $headers
     * @return array
87
     */
88
    public static function get($url, $headers = [])
89
    {
90
        return CurlRequest::get($url, $headers);
91 92 93 94 95
    }

    /**
     * post请求
     * @param $url
王源's avatar
王源 committed
96
     * @param $data
97 98
     * @param array $headers
     * @return array
99
     */
王源's avatar
王源 committed
100
    public static function post($url, $data, $headers = [])
101
    {
王源's avatar
王源 committed
102 103
        [$headers, $data] = self::prepareRequest($headers, $data);
        return CurlRequest::post($url, $data, $headers);
104 105 106 107 108
    }

    /**
     * put请求
     * @param $url
王源's avatar
王源 committed
109
     * @param $data
110 111
     * @param array $headers
     * @return array
112
     */
王源's avatar
王源 committed
113
    public static function put($url, $data, $headers = [])
114
    {
王源's avatar
王源 committed
115 116
        [$headers, $data] = self::prepareRequest($headers, $data);
        return CurlRequest::put($url, $data, $headers);
117 118 119 120 121
    }

    /**
     * delete请求
     * @param $url
122 123
     * @param array $headers
     * @return array
124
     */
125
    public static function delete($url, $headers = [])
126
    {
127
        return CurlRequest::delete($url, $headers);
128 129 130
    }

}