MoniForm.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace app\expand\controller;
  3. use app\common\service\HelperService;
  4. use think\Validate;
  5. /**
  6. * 模拟表单接口
  7. * Class moniForm
  8. * @package app\expand\controller
  9. */
  10. class moniForm extends BaseAuth
  11. {
  12. private $_Account = null;
  13. public function __construct(){
  14. parent::__construct();
  15. $this->_Account = $this->getKey($this->_apiCode);
  16. //验证是否具有访问这个接口的权限
  17. if(!isset($this->_Account['MoniFormAuth'])){
  18. HelperService::returnJson(['code'=>400,'msg'=>'moniForm interface unauthorized access','data'=>[]]);
  19. }
  20. }
  21. /**
  22. * 模拟表单请求
  23. */
  24. public function Request(){
  25. $params = $this->_params;
  26. $rule = [
  27. 'url|请求的url'=>'require|url',
  28. 'postData|表单数据'=>'require'
  29. ];
  30. $validate = new Validate($rule);
  31. if(!$validate->check($params)){
  32. HelperService::returnJson(['code'=>400,'msg'=>$validate->getError(),'data'=>[]]);
  33. }
  34. $postData = $params['postData'];
  35. $ch = curl_init();
  36. $options = [
  37. CURLOPT_URL => $params['url'],
  38. CURLOPT_RETURNTRANSFER => 1,
  39. CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36",
  40. CURLOPT_COOKIESESSION => 1,
  41. CURLOPT_POST => 1,
  42. CURLOPT_POSTFIELDS => $postData,
  43. ];
  44. curl_setopt_array($ch, $options);
  45. $res = curl_exec($ch);
  46. if ($res === FALSE) {
  47. HelperService::returnJson(['code'=>400,'msg'=>'request is error','data'=>curl_error($ch)]);
  48. }
  49. curl_close($ch);
  50. HelperService::returnJson(@json_decode($res,true));
  51. }
  52. }