Skip to content

Latest commit

 

History

History
336 lines (245 loc) · 6.64 KB

분석.md

File metadata and controls

336 lines (245 loc) · 6.64 KB

DC 앱 구현을 위해 분석한 DCApp API

분석 목록

알림

  • 댓글 / 대댓글 알림 분석

인증

  • app_id 분석 (60바이트 문자열 -> 62바이트 문자열)

계정

  • 로그인
  • 차단 확인

글 관련

  • 글 조회
  • 글 목록 불러오기
  • 사진 업로드
  • 글 삭제

고정닉

  • 고닉 추천 & 비추천
  • 고닉 글 쓰기
  • 고닉 댓글 작성
  • 고닉 대댓글 작성

유동닉

  • 유동 추천 & 비추천
  • 유동 글 쓰기
  • 유동 댓글 작성
  • 유동 대댓글 작성

일반

  • 메인화면
  • 실북갤 랭킹
  • 마이너갤 정보 확인
  • 마이너갤 관리자 확인

검색

  • 통합검색
  • 갤러리 검색
  • 갤러리내 글 검색 (개념글 유무 포함)

디시콘

  • 모든 디시콘 목록 불러오기
  • 댓글 디시콘 사용
  • 사용할 디시콘 목록 불러오기
  • 다른 디시콘 정보 불러오기

메인 화면

요청 타입: GET

URL: http://json2.dcinside.com/json3/main_content.php

User-Agent: dcinside.app
Referer: http://www.dcinside.com
Connection: Keep-Alive
Accept-Encoding: gzip
Host: json2.dcinside.com

갤러리 통합검색

요청 타입: POST

URL: http://app.dcinside.com/api/_total_search.php

Content-Type: multipart/form-data; boundary=임의의_값
Host: app.dcinside.com
Accept-Encoding: gzip
User-Agent: dcinside.app
Referer: http://www.dcinside.com
Content-Length: 길이
Connection: Keep-Alive

Body:

--임의의_값
Content-Disposition: form-data; name="keyword"

검색어
--임의의_값
Content-Disposition: form-data; name="app_id"

aW0vNGVja05kc0hTSllkTXBqbGFyVzRQZEFvNml6cEJ2enk1VVYxSml6cz0=
--임의의_값--

통합검색

요청 타입: POST

URL: http://app.dcinside.com/api/_total_search.php

Content-Type: multipart/form-data; boundary=임의의_값
Host: app.dcinside.com
Accept-Encoding: gzip
User-Agent: dcinside.app
Referer: http://www.dcinside.com
Content-Length: 길이
Connection: Keep-Alive

Body:

--임의의_값
Content-Disposition: form-data; name="keyword"

검색어
--임의의_값
Content-Disposition: form-data; name="app_id"

aW0vNGVja05kc0hTSllkTXBqbGFyVzRQZEFvNml6cEJ2enk1VVYxSml6cz0=
--임의의_값
Content-Disposition: form-data; name="search_type"

search_main
--임의의_값--

실북갤 랭킹

정식갤

요청 타입: GET

URL: http://json2.dcinside.com/json3/ranking_gallery.php

User-Agent: dcinside.app
Referer: http://www.dcinside.com
Host: json2.dcinside.com
Connection: Keep-Alive
Accept-Encoding: gzip

마이너갤

요청 타입: GET

URL: http://json2.dcinside.com/json1/mgallmain/mgallery_ranking.php

User-Agent: dcinside.app
Referer: http://www.dcinside.com
Host: json2.dcinside.com
Connection: Keep-Alive
Accept-Encoding: gzip

마이너갤 정보 확인

요청 타입: POST

URL: http://app.dcinside.com/api/minor_info

User-Agent: dcinside.app
Referer: http://www.dcinside.com
Content-Type: multipart/form-data; boundary=임의의_값
Host: app.dcinside.com
Connection: Keep-Alive
Accept-Encoding: gzip
--임의의_값
Content-Disposition: form-data; name="id"

마이너 갤 ID(예:owgenji)
--임의의_값
Content-Disposition: form-data; name="app_id"

UXc5RzRBSjdhUnRMZE5IelVHK2s1M1VXL2c0K2tDblZXMEFyV3NHdE9Rcz0=
--임의의_값--

글 목록

요청 타입: GET

URL: http://app.dcinside.com/api/redirect.php

User-Agent: dcinside.app
Referer: http://www.dcinside.com
Connection: Keep-Alive
Accept-Encoding: gzip
Host: app.dcinside.com

인자

hash: Base64 인코딩된 글 목록 URL (redirect.php를 통하지 않으면 오류 발생)

http://app.dcinside.com/api/gall_list_new.php?id=갤러리명(예:hit)&page=페이지번호&app_id=aW0vNGVja05kc0hTSllkTXBqbGFyVzRQZEFvNml6cEJ2enk1VVYxSml6cz0%3D&recommend=1&headid=30

URL: http://app.dcinside.com/api/gall_list_new.php

인자

id: 갤러리명 - 필수
page: 페이지번호 - 필수
app_id: Base64 인코딩된 앱 고유 ID - 필수
recommend: bool(0, 1) - 개념글 유무 - 선택
notice: bool(0, 1) - 공지 유무 - 선택
headid: int - 말머리 ID - 선택
confirm_id: Base64 인코딩된 String - 필요 없음

글 조회

요청 타입: GET

URL: http://app.dcinside.com/api/redirect.php

User-Agent: dcinside.app
Referer: http://www.dcinside.com
Connection: Keep-Alive
Accept-Encoding: gzip
Host: app.dcinside.com

인자

hash: Base64 인코딩된 글 URL (redirect.php를 통하지 않으면 오류 발생)

http://app.dcinside.com/api/gall_view_new.php?id=갤러리명(예:hit)&no=글아이디&app_id=aW0vNGVja05kc0hTSllkTXBqbGFyVzRQZEFvNml6cEJ2enk1VVYxSml6cz0%3D

글 작성 - 유동

요청 타입: POST

URL: http://upload.dcinside.com/_app_write_api.php

User-Agent: dcinside.app
Referer: http://www.dcinside.com
Content-Type: multipart/form-data; boundary=임의의_값
Host: upload.dcinside.com
Connection: Keep-Alive
Accept-Encoding: gzip

Body:

--임의의_값
Content-Disposition: form-data; name="id"

갤러리명(예:hit)
--임의의_값
Content-Disposition: form-data; name="app_id"

MlZnQWh3dEFZb1dVU3dUUEtKazlUUGc1L3Fuai8wODIzNG5IK01Dbk5zQT0=
--임의의_값
Content-Disposition: form-data; name="mode"

write
--임의의_값
Content-Disposition: form-data; name="client_token"

Push Message에 사용되는 FCM 토큰
--임의의_값
Content-Disposition: form-data; name="head_name"

말머리 제목 (String)
--임의의_값
Content-Disposition: form-data; name="head_no"

말머리 번호 (int)
--임의의_값
Content-Disposition: form-data; name="subject"

URL Encode 되어있는 제목
--임의의_값
Content-Disposition: form-data; name="name"

URL Encode 되어있는 이름
--임의의_값
Content-Disposition: form-data; name="password"

URL Encode 되어있는 비밀번호
--임의의_값
Content-Disposition: form-data; name="memo_block[0]"

URL Encode 되어있는 글 내용
--임의의_값--

글 추천 & 비추천 - 유동

요청 타입: POST

추천

URL: http://app.dcinside.com/api/_recommend_up.php

비추천

URL: http://app.dcinside.com/api/_recommend_down.php

User-Agent: dcinside.app
Referer: http://www.dcinside.com
Content-Type: multipart/form-data; boundary=임의의_값
Host: app.dcinside.com
Connection: Keep-Alive
Accept-Encoding: gzip

Body:

--임의의_값
Content-Disposition: form-data; name="id"

갤러리 명 (예:owgenji)
--임의의_값
Content-Disposition: form-data; name="no"

게시글 번호 (예:1)
--임의의_값
Content-Disposition: form-data; name="app_id"

MlZnQWh3dEFZb1dVU3dUUEtKazlUUGc1L3Fuai8wODIzNG5IK01Dbk5zQT0=
--임의의_값--