切换风格

默认晚霞 雪山 粉色心情 伦敦 花卉 绿野仙踪 加州 白云 星空 薰衣草 城市 简约黑色 简约米色 龙珠
回复 0

3818

主题

3818

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12702
基于QueryList 模拟登陆Github[复制链接]
发表于 2022-4-8 20:13:42 | 显示全部楼层 |阅读模式
官网:https://querylist.cc/
类库什么的自行官网下载吧 给大家简单看下模拟登陆github效果图:
201341en5ulf2n557zs5us.jpg
代码:
public function aa(){

              $ql = QueryList::getInstance();

              //手动设置cookie

              $jar = new \GuzzleHttp\Cookie\CookieJar();

              //获取到登录表单

              $form = $ql->get('https://github.com/login',[],[

                    'cookies' => $jar

              ])->find('form');

              //填写GitHub用户名和密码

              $form->find('input[name=login]')->val('用户名');

              $form->find('input[name=password]')->val('密码');

              //序列化表单数据

              $fromData = $form->serializeArray();

              $postData = [];

              foreach ($fromData as $item) {

                    $postData[$item['name']] = $item['value'];

              }

              //提交登录表单

              $actionUrl = 'https://github.com/session';

              $ql->post($actionUrl,$postData,[

                    'cookies' => $jar

              ]);

              //判断登录是否成功

              echo $ql->getHtml();

              $userName = $ql->find('.header-nav-current-user>.css-truncate-target')->text();

              if($userName)

              {

                    $this->success('登录成功' . $userName);

              }else{

                    echo '登录失败!';

              }

      }
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|不懂 ( 粤ICP备14042591号-1 )|网站地图

GMT+8, 2024-11-22 02:40 , Processed in 0.093490 second(s), 30 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部