항공사 사이트 api는 어떻게 분석하셨나요?

무식하게 했습니다. -_-

대한항공,아시아나,진에어,제주항공,티웨이,에어서울,에어부산,이스타
구글항공,네이버항공,웹투어,인터파크항공 등
국내에 소개된 항공사들 홈페이지 들어가서
전부다 일일이 디버거창과 네트웍 패킷캡쳐 띄워 놓고
어떻게 서로 주고 받는지 분석했습니다.

분석하다가 보면 길이(?) 보입니다.

저도 분석해보고 싶은데 보다보니 뭔가 잘 안보이네요 ㅠㅠㅠㅠㅠ 조금 팁이라도 가능할까요..?

그리고...
각각의 항공사들 별로 결제 시스템이 천차만별이기 때문에
웹뷰상에서 결제를 시도하려고 하면
별에별 오류가 발생합니다.
쉽게 설명하면
PC에 뱅킹할때 보안프로그램 설치되듯이
안드로이드용 보안프로그램을 설치해야 결제 되는 곳도
있기 때문에

항공사 1개에 결제 모듈이 5개가 있다면
항공사 8개이면 대략 40가지 테스트를 해야 해요.
이걸 개인이 하는것은 힘듭니다.

다른 커뮤니티에 항공권 예약을 어떻게 하는지 간단히
질문 해보니...
네이버나, 인터파크나, 구글 항공이나 이런곳에서
가격만 검색하고.
실질적인 예약은 항공사앱을 통해서 하더군요.

제가 만든 앱도 처음 의도는 이것과 비슷했어요.
검색하고.. 항공사앱 안띄우고 바로 항공사 홈피의
검색 결과 창으로 이동해서 바로 결제하는것..

조언을 드리자면...
Firefox 개발자용 브라우저 있습니다.
Chrome 개발툴도 괜찮습니다만.
약간 차이가 있어요.

보통 API가 호출되고 다음 페이지로 redirect 되기 때문에..
실질적인 API가 어떻게 호출되는지 알아내기가 쉽지 않아요.
무식하게 redirect 넘어가기 전에 웹을 중단 시키든지..

아니면..
네트웍 패킷 캡쳐 프로그램을 띄워 놓고
모니터링 하시면 최종 API를 찾을 수 있어요.

API를 찾아다고 하더라도..
인증키, 쿠키정보, 관련 세션정보가 맞지 않으면
해당 API를 호출하더라도 오류 발생합니다.

각각의 항공사들 마다 특징이 있기 때문에.
정말로 -_- 트릭이 필요합니다.

제일 힘든곳이 대한항공입니다!! 앵귤러사용해서
리버스하기가 매우 어려워요.

때려치울까 하다가...
한 2년정도 삽질했어요.ㅎㅎㅎ 머리가 나쁘다 보니.. 손발이 고생을...

우선 진에어 부터 시도중인데 x-csrf-token과 cookie값 처리를 어떻게 하셨었는지 어쭈어 봐도 괜찮을까요...? 다른 항공사는 아직 감을 못잡았는데 진에어는 어떻게 요청을 보내야 하는지는 찾았는데 이 두 값이 문제이네요 ㅠㅠㅠ

크롬 또는 Firefox 또는 edge를 에서 F12 누르면
개발툴 뜹니다.
여기서 디버거 탭 선택하시고.. 왼쪽에 소스창을 확인하고
저장소 탭 선택하면 왼쪽에 로컬저장소,세션저장소,캐시저장소,indexed DB, 쿠키 항목들
있어요.. 이거 확인하시고...

네트워크 탭 선택하시고.. 웹 페이지 눌렀을때 패킷들이 어떻게 왔다 갔다 하는지 확인하시고
대충 파악되면

디버거 탭에서 브레이크포인트 걸고
이 상태에서 웹 페이지가 서버와 어떻게 왔다 갔다 하는지
일일이 확인 해야 해요.

진에어는 쉬운 편인데^^;;; 최근에 화면이 이쁘게 개편이 되긴 했습니다.
내부 로직은 예전(2년전과 거의 바뀐게 없어요)

서버에서 생성된 token이 클라이언트로 넘어오면 웹브라워저 내부의 저장소의
어디에 저장되는지 확인해보세요.

저의 경우는 단순하게 사용자 정보와 날짜정보만 가지고
해당 화면까지 이동만 하고..
해당 시간의 위치까지 화면 스크롤 하고 끝이에요.

여기서 가격 누르고 로그인 시키고 할수도 있는데.
이부분은 너무 케이스 바이 케이스라..

사용자에게 자유롭게 할 수 있도록 남겨 놨어요.

더 쉽게 설명하자면
사용자가 항공사 앱을 키지 않고
그냥 스마트폰에 있는 많이 사용하는 웹브라우저(크롬, 삼성인터넷 등등)으로
항공사 홈피에 접속해서 검색하고
로그인 하고 결제하는 거죠..

그런데 이걸 웹뷰로 하면
제한 사항이 아주 많아서 제대로 구현이 되지 않아요.
각각의 항공사 별로 별에별 희한한 로직으로 구현되어 있어서..
진에어만 해도 결제 시스템이 여러게 있을꺼에요.
이거 연동테스트 다 해봐야 되니..

저도 이글 보고 제가 자주타는 노선의 항공사 위주로 해보려 하는게 저도 삽질 많이 하겠네요 ㅋㅋㅋㅋ
감사합니다