PHP가 '자동 질문 브러싱'을 구현하는 방법 분석(아이디어 포함)
PHP를 사용하여 교실 워크숍에서 자동 문제 해결을 구현하세요
오픈 소스 주소
https://github.com/WOSHIZHAZHA120/kgc_cheater
기본 아이디어
- 모든 질문을 받고 채점하세요
- 백그라운드에서 답변을 녹음하세요
- 백그라운드에서 답변을 받아 자동으로 채워주세요
구현 원리
우선, 모든 질문이 사진이지만 URL에는 imageType=2 code>라는 한 가지 공통점이 있습니다.<code>imageType=2
那么直接上代码【推荐学习:《PHP视频教程》】
得到所有图片地址后发送到后台, 后台将收到所有图片的url地址
这是一部分源码, 关于这个getQuestionIdFromImageUrl
待会再说
然后新建一个数据库, 我这里是建了一个名叫kgc_cheater
的数据库
以及表question_answers
如下是表结构
以及使用Medoo/Medoo库用作数据库链接
然后写一个从数据库拿答案的逻辑
你们可能会好奇maps
是什么, 因为前台图片地址的运算是和后台不一样的
给你们看一下getQuestionIdFromImageUrl
你们也许能明白
因为发现每个用户的图片地址都不相同, 即使题目是一样的, 但是每个账号图片地址都不会变, 那么说明图片地址的计算是有规律的, 研究半天发现, 其实就是把relativePath
参数用/
分割后的把第二个部分减去指定偏移值, 待会说明如何获取
我们直接向后台请求答案, 返回maps和answers参数
maps
的定义其实就是$url => $question_id
answers
的定义是['question_id' => $question_id, 'answer' => $answer]
如图, 使用3个parent然后进入ul.sec2获取答案列表, 然后找到包含答案的元素并模拟点击它
这样就完成了一次自动答题
回到上面, 关于偏移值的获取, 在你登录进去的时候看你的url
559634
就是你的偏移值, 进入答题页面
这是图片的源地址 https://tiku.kgc.cn/testing/cdn/getImage?relativePath=0069000/1543312740097/e19f21615ab8e9866619bf47c3b5b59c.jpg&imageType=2
获取原图片id为 0069000/1543312740097
使用偏移值减去第二个参数得到1543312180463
最终得到题目id: 0069000/1543312180463
그런 다음 코드로 직접 이동합니다. [권장 학습: "PHP 비디오 튜토리얼 a>》】

모든 이미지 주소를 가져와서 백엔드로 보냅니다. 백엔드는 모든 이미지의 URL 주소를 받습니다.

getQuestionIdFromImageUrl
에 대해서는 나중에 이야기하겠습니다🎜그런 다음 새 데이터베이스를 만들고 여기에 하나를 만들었습니다. kgc_cheater
라는 이름의 데이터베이스와 테이블 질문 답변
🎜은 다음과 같습니다: 테이블 구조🎜🎜
지도란 무엇인가요
포그라운드의 이미지 주소 계산이 백엔드의 계산과 다르기 때문입니다🎜 getQuestionIdFromImageUrl
을 보여드리면 이해하실 수 있습니다🎜🎜
/ 분할 후 두 번째 부분에서 지정된 오프셋 값을 빼면 백그라운드에서 직접 응답을 요청하고 반환합니다. <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/020/618a21ee84abcd095bd0e355c8ccb5e4-7.png" class="lazy" alt="PHP와 Oil Monkey를 사용하여 자동 질문 작성 실현 교실">🎜🎜 <code>maps
의 정의는 실제로 $url => $question_id입니다.🎜답변
은 [ '질문_ID' => $question_id, '답변' => $답변]
🎜🎜

559634
는 오프셋입니다. 값, 답변 페이지를 입력하세요🎜이미지의 소스 주소입니다 https://tiku.kgc.cn/testing/cdn /getImage?relativePath=0069000/1543312740097/e19f21615ab8e9866619bf47c3b5b59c.jpg&imageType=2
🎜 🎜원본 이미지 ID를 0069000/1543312740097
로 가져옵니다🎜오프셋 값을 사용하여 두 번째 인수를 빼서 1543312180463
을 가져옵니다🎜🎜마지막으로 질문 ID를 얻었습니다: 0069000/1543312180463
🎜다른 계정도 실험 후 동일한 ID를 얻을 수 있으며 이것이 데이터베이스에 저장된 실제 ID입니다🎜🎜메인 페이지에 들어갈 때 이를 기록하는 스크립트가 있습니다🎜쿠키를 사용하여 저장🎜첨부된 코드는 다음과 같습니다. 🎜파싱 인터페이스에 정답이 있습니다
모든 부분은 .sec.post
로 래핑됩니다.sec.post
包起来了
然后往下取 .sec2
再取 img
并获取url
可以得到图片id, 同样取relativePath
但是不需要应用偏移值了, 直接存进数据库即可
同样的, 答案在 .sec3
往下 .pad10
再往下 em:eq(0)
里
直接这样取
然后发给后端丢到数据库里记录起来
并在前台发送已记录消息
后端记录代码
然后就是前后端配合, 自动记录题目, 自动答题
最后就是自动刷题
进入一张试卷后, 自动填写之后加了一段自动更新试卷的代码, 如图
关于fuxiAuto
后面的那串数字
也许我们都不太一样, 附上科目id获取教程
首先进入
利用开发者工具找到开始测试按钮
javascript:unitExam(1098001001
)
这个1098001001
그런 다음 아래로 가서 .sec2
를 가져오고 그런 다음 img
를 가져와 url을 가져옵니다.
이미지 ID를 가져올 수 있습니다. relativePath
도 가져오지만 오프셋 값을 적용할 필요는 없습니다. 데이터베이스에 직접 저장됩니다
.sec3
에 있습니다. .pad10
로 이동한 다음 em:eq(0)
로 이동하세요. > 다음과 같이 직접 가져옵니다

그런 다음 백엔드로 보내고 데이터베이스에 던집니다. 녹음



fuxiAuto
뒤에 숫자 문자열🎜아마도 우리는 모두 다를 수 있습니다. 첨부된 내용은 주제 ID를 얻는 방법에 대한 튜토리얼입니다🎜🎜먼저 입력하세요🎜🎜

1098001001
)🎜이 1098001001
은 제목 ID입니다🎜여기 마지막 숫자는 1부터 7까지라서 자동난수를 적어서 1부터 7까지의 정수가 랜덤하게 생성되도록 했습니다 7🎜🎜 수정도 매우 간단합니다🎜🎜🎜🎜🎜그림의 1과 7을 최소값과 최대값으로 변경하면 됩니다. 🎜위 내용은 PHP가 '자동 질문 브러싱'을 구현하는 방법 분석(아이디어 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

문자열은 문자, 숫자 및 기호를 포함하여 일련의 문자입니다. 이 튜토리얼은 다른 방법을 사용하여 PHP의 주어진 문자열의 모음 수를 계산하는 방법을 배웁니다. 영어의 모음은 A, E, I, O, U이며 대문자 또는 소문자 일 수 있습니다. 모음이란 무엇입니까? 모음은 특정 발음을 나타내는 알파벳 문자입니다. 대문자와 소문자를 포함하여 영어에는 5 개의 모음이 있습니다. a, e, i, o, u 예 1 입력 : String = "Tutorialspoint" 출력 : 6 설명하다 문자열의 "Tutorialspoint"의 모음은 u, o, i, a, o, i입니다. 총 6 개의 위안이 있습니다
