CSDN 극단 적 인 톱스타 크롬 플러그 인 개발

0x 00 왜 개발
마이크로 블 로 그 를 모집 소식 에 올 렸 다.
어떻게
이미 책 갈피 가 있 는 판본 을 언급 한 것 을 보면, 스스로 입 을 열지 않도록 하기 쉽다.
알 을 합치다
주소 복사
javascript:window.location="http://geek.csdn.net/news/bookmarklet?u="+encodeURIComponent(document.location)+"&t="+encodeURIComponent(document.title)+""

깔끔 한 것 같 습 니 다. 톱 사 이 트 를 열 고 오른쪽 아래 에 있 는 발 표를 찾 습 니 다. POST 의 완전한 실현 은 이 렇 습 니 다.
url: http://geek.csdn.net/service/news/add_edit
data: {
          'username': 'johnkivy',\\
          'title':'A Gentle Guide to Machine Learning',\\
          'url':'http://blog.monkeylearn.com/a-gentle-guide-to-machine-learning/',\\
          'description':'Nice',\\
          'tag':'Machine-Learning',\\
          'forum_id':'43'
      }

결과 되 돌리 기:
{"status":1,"error":"","data":{"id":38521},"is_god":false}

하위 커 뮤 니 티 에서 가 져 온 주소:
http://geek.csdn.net/service/news/forums

사용자 이름 인자 가 매우 느 리 지 않 습 니 다 (5s +). 가 져 온 후에 제 username=johnkivy 는 12 개의 데 이 터 를 되 돌려 주 었 습 니 다.결과 되 돌리 기
{"status":1,"error":"","data":[{"id":"47","name":"  "},{"id":"1","name":"GEEK  "},{"id":"8","name":"Rust"},{"id":"12","name":"Swift"},{"id":"14","name":"     "},{"id":"17","name":"\/home"},{"id":"33","name":"PrestoDB"},{"id":"43","name":"    "},{"id":"58","name":"  "},{"id":"48","name":"Spark"},{"id":"49","name":"   "},{"id":"50","name":"   "},{"id":"53","name":"Container"},{"id":"55","name":"   "},{"id":"57","name":"SDN"},{"id":"61","name":"    "},{"id":"63","name":"    "},{"id":"65","name":"Android   "},{"id":"66","name":"iOS  "},{"id":"67","name":"Nodejs"},{"id":"68","name":"Python   "},{"id":"70","name":"AngularJS"},{"id":"71","name":"Grails\/Groovy"},{"id":"73","name":"Git  "},{"id":"75","name":"Go"},{"id":"76","name":"CSDN  "},{"id":"77","name":"CSDN PHPer"},{"id":"78","name":"C#   "},{"id":"79","name":".NET"}]}

현재 우리 가 대략 필요 로 하 는 데이터:
{
  "howtoadd": "http_request",
  "data": {
    "url": "http://geek.csdn.net/service/news/add_edit",
    "method": "POST",
    "loginrequired": "notsurenow",
    "data": {
      "username": "johnkivy",
      "title": "A Gentle Guide to Machine Learning",
      "url": "http://blog.monkeylearn.com/a-gentle-guide-to-machine-learning/",
      "description": "Nice",
      "tag": "Machine-Learning",
      "forum_id": {
        "form_ids": {
          "url": "http://geek.csdn.net/service/news/forums",
          "data": [{"id":"47","name":"  "},...]
        }
      }
    }
  }
}

확인 login required 방식 은 curl, Python 을 사용 할 수 있 습 니 다.
  • 브 라 우 저 로그 인 데이터 명확
  • 폼 에 알려 진 데 이 터 를 입력 합 니 다
  • 분석 결과
  • 캡 처 없 이 얻 은 결 과 는 로그 인 을 하지 않 아 도 된다 는 것 입 니 다. 그 후에 CSDN 의 Geek 팀 이 더 해 질 것 입 니 다. 다행히 인공 심사 가 있 었 습 니 다. 그런데 이것 은 너무 완선 되 지 않 아서 다른 사람의 사용자 이름 으로 직접 제출 하 는 것 입 니 다. 예 를 들 어 제 편 은 yxy 1992 입 니 다.123 번 냈어요.
    0x 02 구체 적 과정
    소개 왕, 초보 기능 방향:
  • 설정 제공
  • 빠 른 추진 과 정확 한 모드 전환
  • 식별 규칙
  • 기능 확장
  • ...

  • 우 클릭 메뉴 에 추가 HttpRequester
  • ...

  • Github 에 Repository 를 만 들 고 코드 를 master 분기 에 직접 누 릅 니 다.
    0x 03 디 버 깅 결과
    질문

    좋은 웹페이지 즐겨찾기