LoginController.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <?php
  2. /**
  3. * 登录
  4. * @author wesmiler
  5. */
  6. namespace app\api\controller;
  7. use app\index\service\Storage;
  8. use app\index\service\Users;
  9. use app\index\validate\UsersValidate;
  10. use cmf\controller\HomeBaseController;
  11. use GuzzleHttp\Client;
  12. use GuzzleHttp\Cookie\CookieJar;
  13. use function GuzzleHttp\Psr7\parse_query;
  14. class LoginController extends HomeBaseController
  15. {
  16. /**
  17. * 账号注册
  18. * @throws \think\Exception
  19. * @throws \think\exception\PDOException
  20. */
  21. public function register(){
  22. $params = input();
  23. $validate = new UsersValidate();
  24. if (!$validate->scene('reg')->check($params)) {
  25. showJson(1002, $validate->getError());
  26. }
  27. // 头像
  28. $file = request()->file('avatar');
  29. if ($file) {
  30. $fileData = Storage::uploadImg($file, 'avatar');
  31. $params['avatar'] = isset($fileData['file']) ? $fileData['file'] : '';
  32. }
  33. if(!Users::saveData($params)){
  34. showJson(1002, 1011);
  35. }
  36. showJson(1001, 1012);
  37. }
  38. /**
  39. * 账号注册
  40. * @throws \think\Exception
  41. * @throws \think\exception\PDOException
  42. */
  43. public function login(){
  44. $params = input();
  45. $validate = new UsersValidate();
  46. if (!$validate->scene('login')->check($params)) {
  47. showJson(1002, $validate->getError());
  48. }
  49. $result = Users::login($params);
  50. if(!is_array($result)){
  51. showJson(1002, $result);
  52. }
  53. showJson(1001, 1013, $result);
  54. }
  55. public function auth(){
  56. set_time_limit(0);
  57. $account = ['mobile'=> '18378906376','password'=> 'Chen&520'];
  58. $auths = config('grab.auths');
  59. $loginUrl = isset($auths['loginUrl'])? $auths['loginUrl'] : '';
  60. if($loginUrl){
  61. /*$params = parse_query($loginUrl);
  62. var_dump($params);
  63. $visitData = [
  64. 'visit'=> isset($params['visit'])? $params['visit'] : '',
  65. 'visitor'=> isset($params['visitor'])? $params['visitor'] : '',
  66. ];
  67. $cookie[] = requestCookies('https://www.nike.com/');
  68. $cookie[] = requestCookies('https://www.nike.com/cn/');
  69. $cookie[] = requestCookies('https://unite.nike.com/','','','post',10);
  70. $cookie[] = requestCookies('https://unite.nike.com/session.html');
  71. $cookie[] = requestCookies('https://smodus.nike.com/id?d_visid_ver=3.4.0&d_fieldgroup=A&mcorgid=F0935E09512D2C270A490D4D%40AdobeOrg&mid=57467913254246391640625210980045008389&d_coppa=true&ts=1588565171407','','','post',10);
  72. $cookie[] = requestCookies('https://unite.nike.com/auth/unite_session_cookies/v1','',$cookie? implode(';', $cookie) : '', 'get',10);
  73. $cookie[] = "visitData=".json_encode($visitData, 256);
  74. $cookie[] =
  75. array_filter($cookie);
  76. $cookies = $cookie? implode(';', $cookie) : '';
  77. $cookieArr =
  78. $ext = "AKA_A2=A;AMCVS_F0935E09512D2C270A490D4D%40AdobeOrg=1;AMCV_F0935E09512D2C270A490D4D%40AdobeOrg=1994364360%7CMCMID%7C38734490011676506872633723551289579440%7CMCAID%7CNONE%7CMCOPTOUT-1588574333s%7CNONE%7CvVersion%7C3.4.0;RT=\"z=1&dm=nike.com&si=979a9caf-3388-418e-986d-8ecf5d377ed0&ss=k9rxb4je&sl=0&tt=0&bcn=%2F%2F684fc53d.akstat.io%2F\"";
  79. file_put_contents("./logs/cookie_auth.txt", $cookies);*/
  80. $params = [
  81. 'client_id'=> 'HlHa2Cje3ctlaOqnxvgZXNaAs7T9nAuH',
  82. 'grant_type'=> 'password',
  83. 'password'=> $account['password'],
  84. 'username'=> '+86'.$account['mobile'],
  85. 'ux_id'=> 'com.nike.commerce.nikedotcom.web',
  86. ];
  87. $paramsStr = json_encode($params, 256);
  88. $header = ["Content-Type: application/json"];
  89. $result = postRequest($loginUrl, $paramsStr, $header,'array','');
  90. var_dump($result);
  91. }
  92. }
  93. public function cookie(){
  94. // $datas = json_decode($data, true);
  95. $cookie = file_get_contents('./logs/cookie_auth2.txt');
  96. $cookies = getCookieArr($cookie);
  97. ksort($cookies);
  98. var_dump($cookies);
  99. $cookie = file_get_contents('./logs/cookie_auth.txt');
  100. $cookies = getCookieArr($cookie);
  101. ksort($cookies);
  102. var_dump($cookies);
  103. exit;
  104. }
  105. public function test(){
  106. $dd = makeRandomUid();
  107. var_dump($dd);
  108. exit;
  109. $account = ['mobile'=> '18378906376','password'=> 'Chen&520'];
  110. $auths = config('grab.auths');
  111. $loginUrl = isset($auths['loginUrl'])? $auths['loginUrl'] : '';
  112. $config = ['cookies'=> true,'verify'=> false];
  113. $client = new Client($config);
  114. // 获取cookie
  115. /* $dd = $client->post('https://www.nike.com/');
  116. $headers = $dd->getHeaders();*/
  117. $cookies = requestCookies('https://www.nike.com/cn');
  118. $cookies = getCookieArr($cookies);
  119. $cookieJar = CookieJar::fromArray($cookies, 'unite.nike.com');
  120. var_dump($cookieJar);
  121. $config = ['cookies'=> true,'verify'=> false, 'headers' => [ 'Content-Type' => 'application/json' ]];
  122. $client = new Client($config);
  123. $params = [
  124. 'client_id'=> 'HlHa2Cje3ctlaOqnxvgZXNaAs7T9nAuH',
  125. 'grant_type'=> 'password',
  126. 'password'=> $account['password'],
  127. 'username'=> '+86'.$account['mobile'],
  128. 'ux_id'=> 'com.nike.commerce.nikedotcom.web',
  129. ];
  130. $login = $client->post($loginUrl,[
  131. 'headers' => ['Content-Type' => 'application/json'],
  132. 'json' => $params,
  133. 'cookies'=> $cookieJar
  134. ]);
  135. var_dump($login);
  136. $data = $login->getBody()->getContents();
  137. var_dump($data);
  138. }
  139. }