728x90

https://www.youtube.com/watch?v=9l3uNWZOmTw 

 

대학교를 다니다 보면 항상 수강 신청하는 날이 무섭고 되게 떨립니다.

한 과목 한 과목 놓치면 자신의 공강이 사라지거나 , 점심시간이 사라지기도 하며

외롭게 혼자 학교를 다니게 될 수도 있으니까요

 

여기서 컴퓨터에 대해 조금 배우신분들이라면 분명 웹을 통해 수강신청서버와 통신을 하기때문에

코딩을 통해 똑같이 수강신청 서버가 열렸을때 서버로 수강신청 요청을 보내게되면

남들이 수강신청 서버에 접속이 몰릴때 , 따로 웹을통해 접속하지않고도

서버가 열리자마자 수강신청을 넣을수있습니다.

 

 

 

준비


수강신청 Requests 과정은 다음과같습니다.

 

수강신청을 하기전 대학교에 장바구니를 담는 날이 있습니다.

이때 Requests URL과 Cookies값들을 알아내고

과목별 Payload 딕셔너리 값들을 모두 알아내야 합니다.

 

Requests URL과 Payload값은 거의 변할일이 없지만

저희 학교같은경우 Cookies값의  SGJESSIONID값이 로그인할때마다 바뀌었습니다.

 

 

 

 

 

실습

크롬 F12(개발자모드)를 킨 상태에서 Network를 누른다음 

수강신청페이지(장바구니) 에 들어가서 아무과목이나 신청(or 장바구니담기) 버튼을 누릅니다.

그러면 Network 탭을 통해 모든 HTTP통신 과정을 볼 수 있습니다.

여기서 수강신청이 되는 요청과정이 분명있습니다.

저희학교같은경우 aply.do 였으며 

아주대의 경우 수강신청버튼을 눌러도 바로 수강신청서버로 요청이 가지않고

수강신청버튼클릭(요청) -> 보안문자 입력폼(응답) -> 옳게입력했을경우 수강신청서버로 수강신청Requests

 

네트워크 통신과정을 보면

capchaAnswer.action 이 보안문자 통신부분 ( payload값이 보안문자 입력값으로 전달됨) 옳바르게 입력했을경우

Response로 200값이 응답이 오게되고 바로 saveOpenLectureReg.ajax 를 통해 아주대 수강신청서버로 수강신청요청을 날리는것 같다.

 

 

 

 

 


 

 

 

 

 

 

 

 

한과목 수강신청 요청을 날리는 코드를 파이썬으로 짜봤다

우리학교의경우 보안문자 입력같은것이 없기때문에 되게 쉽게 구현이 가능함

다른학교들의경우 보안문자만 잘 해결하면 비슷비슷할거같다

 

실습코드(사회봉사 1학점짜리 수강신청코드)


import requests
import time

url='https://sugang.smu.ac.kr/UcrTlsn/aply.do'

cookies = {
    '_ga':'GA1.3.1726804677.1643137138',
    'WMONID':'jNFh1awnyxs',
    'SGJSESSIONID':'o153YzYsXcjHkQGgCaxr45rfQLQin1k44Zy2nuaxuPqvoQEW7x7qttHuS2NgtTAH.amV1c19kb21haW4vc3VnYW5nMQ=='
}

data = {
    '_AUTH_MENU_KEY': '',
'@d1#strSchYear': '2022',
'@d1#strSmtRcd': 'CMN002.0010',
'@d1#strSesRcd': 'CMN111.0000',
'@d1#strEstDeptCd': '00000',
'@d1#strEstShyr': '9',
'@d1#strSbjNo': 'HBRA1005',
'@d1#strDivcls': '1',
'@d1#strReTlsnSchYear': '',
'@d1#strReTlsnSmtRcd': '',
'@d1#strReTlsnSesRcd': '',
'@d1#strReTlsnSbjNo': '',
'@d#': '@d1#',
'@d1#': 'dmParamAply',
'@d1#tp': 'dm'
}

res = requests.post(url=url,cookies=cookies,data=data)
print("상태코드 :  " +  str(res))
print("수강신청요청결과  : " +  res.text)

 

위 코드를 수강신청 서버가 열릴시간때쯤 반복문을통해 요청을 보내면 빠르게 수강신청이 가능하다.

 

 

https://www.youtube.com/watch?v=9l3uNWZOmTw 

 

 

728x90

+ Recent posts