切换风格

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

3971

主题

3973

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
13178
【原创】基于php采集框架querylist 模拟登陆github[复制链接]
发表于 2022-4-20 17:05:33 | 显示全部楼层 |阅读模式
效果如下:代码:public function index(){

              $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('你的github用户名');

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

              //序列化表单数据

              $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{

          $this->error('登录失败');

              }

      }
复制代码
如果代码跑板:请看下方图: 170533y5wc7u589557ux7u.jpg
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 15:02 , Processed in 0.091339 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部