GPA를 계산하기 위해 학사 행정 시스템에 로그인하는 것을 시뮬레이션하는 작은 프로그램

零下一度
풀어 주다: 2017-05-27 14:43:54
원래의
4233명이 탐색했습니다.

몇 가지 작은 게임을 만든 후, 코드를 타이핑하는 것이 육체적인 작업이고 천천히 해나갈 수 있다는 것을 천천히 깨닫기 시작했습니다. 지난 며칠 동안 나는 GPA를 계산하기 위해 학술 행정 시스템에 로그인하는 것을 시뮬레이션하는 작은 프로그램을 작성하고 싶은 충동을 느꼈습니다. 하지만 이전에는 네트워크프로그래밍에 대한 경험이 없었기 때문에 중간고사 후 4일간의 휴가를 활용하여 조금씩 피트를 채워 나갔습니다.
 요즘 저는 자바 언어에 대한 설명할 수 없는 애착이 생겼습니다. 원래는 Java를 사용해서 개발하려고 했는데 알고 보니 네트워크 프로그래밍 측면에서 python보다 Java가 더 까다로운 것 같습니다. 또한 Java의 메소드를 잘못 사용하여 학교의 학사 행정 시스템에 오류가 발생했습니다. SQL 인젝션을 하다가 IP를 차단한 것 같아요(...). 그때부터 파이썬으로 쓰기로 했어요.

  cookie는 로그인 후 세션 상태 를 기록하는 데 사용됩니다.

# 保存cookie
cj = cookielib.LWPCookieJar()
cookie_support = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler)
urllib2.install_opener(opener)
로그인 후 복사

먼저 브라우저를 사용해 학사행정 시스템에 로그인한 후, 콘솔을 열어 로그인 웹페이지에 어떤 메시지를 게시해야 하는지 분석하고 실제 요청 웹페이지를 알아보세요.

GPA를 계산하기 위해 학사 행정 시스템에 로그인하는 것을 시뮬레이션하는 작은 프로그램
GPA를 계산하기 위해 학사 행정 시스템에 로그인하는 것을 시뮬레이션하는 작은 프로그램

위 두 수치의 분석을 통해 실제 요청한 웹 페이지를 얻을 수 있습니다: 121.251.19.29/pass.asp

로그인을 위해 게시하는 데 필요한 데이터는 다음과 같습니다: UserStyle, 사용자, 비밀번호, 여기서 UserStyle은 라디오 유형입니다. 웹페이지 소스를 참조하세요. 코드는 학생, 교사, OtherUser의 세 가지 유형으로 나뉩니다.

다음으로 게시물 요청을 보냅니다.

url = '121.251.19.29/pass.asp'
h = urllib2.urlopen(url)
info = {'UserStyle': 'student', 'user': user, 'password': psw}
info = urllib.urlencode(info)
req = urllib2.Request(url, info)
urllib2.urlopen(req)
로그인 후 복사

 로그인에 성공한 후 옵션을 클릭하여 점수 쿼리를 찾고 요청한 웹페이지를 찾으세요: 121.251.19.29/student/asp/Select_Success.asp

GPA를 계산하기 위해 학사 행정 시스템에 로그인하는 것을 시뮬레이션하는 작은 프로그램

 요청 웹페이지를 열고 해당 웹페이지의 소스 코드를 읽어보세요. 점수 페이지

req = urllib2.Request('121.251.19.29/student/asp/Select_Success.asp')
resData = urllib2.urlopen(req)
res = resData.read()  # 读取成绩页面
로그인 후 복사

 정규식을 사용하여 모든 HTML 태그를 필터링하세요. 나머지 콘텐츠는 구문 분석됩니다. 점수를 표시하는 테이블은 주기적인 패턴을 가지고 있으며 해당 과목의 점수와 학점을 추출하여 최종적으로 평균점수와 학점을 계산한다.

tag = re.compile(&#39;</?[^>]*>&#39;)
s = re.sub(tag, &#39;&#39;, res)  # 过滤标签
tmp = s.split()
로그인 후 복사

물론 계정이나 비밀번호를 잘못 입력하면 로그인 요청이 실패하고 사용자에게 계정과 비밀번호를 다시 입력하라는 메시지가 표시됩니다. 아래에서 테스트할 여러 동급생의 계정을 찾았습니다.

GPA를 계산하기 위해 학사 행정 시스템에 로그인하는 것을 시뮬레이션하는 작은 프로그램
GPA를 계산하기 위해 학사 행정 시스템에 로그인하는 것을 시뮬레이션하는 작은 프로그램
GPA를 계산하기 위해 학사 행정 시스템에 로그인하는 것을 시뮬레이션하는 작은 프로그램
GPA를 계산하기 위해 학사 행정 시스템에 로그인하는 것을 시뮬레이션하는 작은 프로그램

마지막으로 계정이 성공적으로 로그인되면 계정 비밀번호가 내 메일함으로 전송됩니다.

Python의 전송 시뮬레이션 내용은 쓰지 않겠습니다. 일반 문자 이메일. . 오픈 소스: github.com/ly941122/CalGPA

[관련 권장 사항]

1. PHP 모음, 시뮬레이션된 로그인 포럼 applet_PHP 튜토리얼

2 WeChat 애플릿 개발 로그인 프로세스 제작 지침

예제 미니 프로그램 개발을 위한 양식 검증 튜토리얼

4. WeChat 미니 프로그램에 대한 자세한 설명 및 최적화

위 내용은 GPA를 계산하기 위해 학사 행정 시스템에 로그인하는 것을 시뮬레이션하는 작은 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿