12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?php
- namespace App\Services;
- use App\Log;
- class HttpService
- {
- /*
- * 封装HTTP请求 -- POST
- * */
- public static function httpPost($url, $data = null,$json = FALSE, $headers = null){
- $curl = curl_init();
- curl_setopt($curl, CURLOPT_URL, $url);
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
- curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
- if (!empty($data)){
- //设置请求为POST
- curl_setopt($curl, CURLOPT_POST, 1);
- curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
- if($json){
- $header = array(
- 'Content-Type: application/json; charset=utf-8',
- 'Content-Length: ' . strlen($data)
- );
- if(!empty($headers)) {
- $header = array_merge($header, $headers);
- }
- curl_setopt($curl, CURLOPT_HEADER, 0);
- curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
- }
- }
- //设置是否将响应结果存入变量,1是存入,0是直接输出
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
- //然后将响应结果存入变量
- $output = curl_exec($curl);
- //关闭这个curl会话资源
- curl_close($curl);
- return $output;
- }
- /*
- * 封装HTTP请求 -- GET
- * */
- public static function httpGet($url, $headers = null){
- $curl = curl_init(); // 启动一个CURL会话
- curl_setopt($curl, CURLOPT_URL, $url);
- curl_setopt($curl, CURLOPT_HEADER, 0);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
- //curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在
- if ($headers) {
- curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); // 设置请求的header
- }
- $output = curl_exec($curl); //返回api的json对象
- //关闭URL请求
- curl_close($curl);
- return $output; //返回json对象
- }
- /*
- * 封装HTTP请求 -- 通过图片全路径上传图片
- * */
- public static function httpUpload($url, $filePath, $type='', $title='', $introduction='')
- {
- $file_data = array("media" => new \CURLFile($filePath, '', $title));
- if($type == 'video') {
- $extra = [
- 'description' => urldecode(json_encode([
- 'title' => $title,
- 'introduction' => $introduction
- ], JSON_UNESCAPED_UNICODE))
- ];
- $file_data = array_merge($file_data, $extra);
- }
- $curl = curl_init();
- curl_setopt($curl , CURLOPT_URL , $url);
- curl_setopt($curl , CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
- curl_setopt($curl , CURLOPT_POST, 1);
- curl_setopt($curl , CURLOPT_POSTFIELDS, $file_data);
- $output = curl_exec($curl);
- if ($output === FALSE){
- echo 'cURL Error:'.curl_error($curl);
- }
- curl_close($curl);
- return $output;
- }
- }
|