Test.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Titan 名字就是密码
  5. * Date: 2019/7/15
  6. * Time: 18:29
  7. */
  8. namespace app\index\controller;
  9. use think\Controller;
  10. class Test extends Controller
  11. {
  12. public function index()
  13. {
  14. $params = ['request'=>'login','login'=>666666,'password'=>'kobe19879151'];
  15. $data = $this->http('http://127.0.0.1:9000',$params);
  16. $data = json_decode($data,true);
  17. var_dump($data['token']);
  18. }
  19. public function http($url, $params, $method = 'GET', $header = array(), $timeout = 5)
  20. {
  21. // POST 提交方式的传入 $set_params 必须是字符串形式
  22. $opts = array(
  23. CURLOPT_TIMEOUT => $timeout,
  24. CURLOPT_RETURNTRANSFER => 1,
  25. CURLOPT_SSL_VERIFYPEER => false,
  26. CURLOPT_SSL_VERIFYHOST => false,
  27. CURLOPT_HTTPHEADER => $header
  28. );
  29. /* 根据请求类型设置特定参数 */
  30. switch (strtoupper($method)) {
  31. case 'GET':
  32. $opts[CURLOPT_URL] = $url . '?' . http_build_query($params);
  33. break;
  34. case 'POST':
  35. $params = http_build_query($params);
  36. $opts[CURLOPT_URL] = $url;
  37. $opts[CURLOPT_POST] = 1;
  38. $opts[CURLOPT_POSTFIELDS] = $params;
  39. break;
  40. case 'DELETE':
  41. $opts[CURLOPT_URL] = $url;
  42. $opts[CURLOPT_HTTPHEADER] = array("X-HTTP-Method-Override: DELETE");
  43. $opts[CURLOPT_CUSTOMREQUEST] = 'DELETE';
  44. $opts[CURLOPT_POSTFIELDS] = $params;
  45. break;
  46. case 'PUT':
  47. $opts[CURLOPT_URL] = $url;
  48. $opts[CURLOPT_POST] = 0;
  49. $opts[CURLOPT_CUSTOMREQUEST] = 'PUT';
  50. $opts[CURLOPT_POSTFIELDS] = $params;
  51. break;
  52. default:
  53. throw new Exception('不支持的请求方式!');
  54. }
  55. /* 初始化并执行curl请求 */
  56. $ch = curl_init();
  57. curl_setopt_array($ch, $opts);
  58. $data = curl_exec($ch);
  59. $error = curl_error($ch);
  60. return $data;
  61. }
  62. }