class Service { /** * @param array $headers 设置请求头部信息 * @param array $options 更多设置项 * @return \GuzzleHttp\Client 返回请求实例化对象 */ private static function init ($headers = [], $options = []) { $client = new \GuzzleHttp\Client([ 'headers' => [ 'Content-Type' => 'application/json; charset=UTF-8', 'Access-Control-Allow-Origin' => '*', 'Access-Control-Allow-Headers' => 'X-Requested-With,Content-Type', 'Accept' => 'application/json' ], 'timeout' => 10 ]); return $client; } /** * @param $url 请求地址 * @param array $data 请求数据 * @param array $headers 请求头信息 * @param array $options 更多设置 * @return string */ public static function post ($url, $data = array(), $headers = [], $options = []) { $client = self::init($headers, $options);//实例化 $response = $client->request('POST', $url, [ 'form_params' => $data, ]); if ($response->getStatusCode() !== '200') { return $response->getBody()->getContents(); } else { return $response->getReasonPhrase(); } } /** * @param $url * @param array $data * @param array $headers * @param array $options * @return string */ public static function get ($url, $data = array(), $headers = [], $options = []) { $client = self::init($headers, $options);//实例化 if ($data) { $param = http_build_query($data); if (strpos($url, '?') === false) { $url = $url . '?' . $param; } else { $url = $url . '&' . $param; } } $response = $client->request('GET', $url); if ($response->getStatusCode() !== '200') { return $response->getBody()->getContents(); } else { return $response->getReasonPhrase(); } } }
guzzle的简单应用
最新推荐文章于 2025-06-24 11:54:46 发布