Wikipedia, badtoken의 페이지 편집

Gqqnbig

로그인하여 페이지를 편집하고 싶습니다. edittoken을 얻을 수 있지만 action = edit에 전달하면 badtoken이라고 표시됩니다. 내가 놓친 것이 있습니까?

__apiJson__ = "https://zh.wikipedia.org/w/api.php?format=json&"
def login():
    username = "???" #use your own
    password = "???" #use your own

    username = urllib.parse.quote(username)
    password = urllib.parse.quote(password)

    r = requests.post(__apiJson__ + "action=login&lgname={username}&lgpassword={password}".
                      format(username=username,password=password))

    content = r.json()
    content = content['login']
    if(content['result'] == 'NeedToken'):
        cookies = r.cookies
        token = content['token']
        r = requests.post(__apiJson__ + "action=login&lgname={username}&lgpassword={password}&lgtoken={token}".
                      format(username=username,password=password,token=token),cookies=cookies)
        content = r.json()
        content = content['login']
        assert content['result']=="Success"
    return r.cookies

def getEditToken(archivePage):
    r = requests.post(__apiJson__ + "action=query&prop=info&intoken=edit&titles={title}".format(title=archivePage),cookies=cookies)
    content = r.json()
    content = content['query']['pages']
    content = content[list(content.keys())[0]]
    editToken = content['edittoken']

    if(editToken == '+\\'):
        raise Exception()
    return editToken

cookies = login()

editToken = getEditToken("User:???/test") #use your own

editToken=urllib.parse.quote(editToken)

r = requests.post("https://zh.wikipedia.org/w/api.php?action=edit&format=json&title=User:Gqqnb/沙盒&text=helloworld&summary=test&token={token}".format(token=editToken),
                  cookies=cookies,headers={"Content-Type":"application/x-www-form-urlencoded"})


content = r.json()
Gqqnbig

나는 내 질문에 답한다. 그냥 사용 requests.session()오히려 sessionless보다, requests.get하고 post.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

주어진 Wikipedia 페이지의 모든 편집자 목록 가져 오기

분류에서Dev

Wikipedia API 마지막 편집자

분류에서Dev

인덱스의 Ajax 편집 페이지

분류에서Dev

Wikipedia 페이지의 엔티티 식별

분류에서Dev

주문 편집 페이지의 WooCommerce 사용자 정의 필드

분류에서Dev

웹 페이지의 HTML을 편집하는 방법

분류에서Dev

페이지의 텍스트에 대한 익명 편집 기록

분류에서Dev

노드 js의 페이지에서 텍스트 편집

분류에서Dev

AngularJS 페이지 편집

분류에서Dev

데이터를로드하지 않는 편집 양식 페이지의 jQuery

분류에서Dev

나만의 텍스트 편집기로 미디어 위키 페이지 편집하기

분류에서Dev

이미지의 텍스트 편집

분류에서Dev

이미지의 텍스트 편집

분류에서Dev

사이드 바의 편집 내용을 모든 페이지에 표시

분류에서Dev

JS의 document.domain이 Sitecore 페이지 편집기를 중단 함

분류에서Dev

Django 관리자의 모델 필드를 통해 사이트 페이지 편집

분류에서Dev

텍스트로 편집기를 편집하고 완료 단추를 클릭하면 편집기가 iOS xamarin 앱의 전체 페이지를 다룹니다.

분류에서Dev

GitHub 페이지에서 바닥 글 편집 jekyll의 기본 최소 테마

분류에서Dev

Django의 인덱스 페이지에서 편집 가능한 모델 숨기기

분류에서Dev

Chrome에서 웹 페이지의 스타일 편집을 되 돌리는 방법

분류에서Dev

편집 페이지의 드롭 다운 목록에 중복 항목

분류에서Dev

페이지로드시 Quill 편집기 내의 서식있는 텍스트

분류에서Dev

페이지로드시 jsp 편집 페이지의 드롭 다운에 선택한 값 표시 (Spring MVC)

분류에서Dev

여러 페이지 편집기의 페이지를 새로 고치는 방법은 무엇입니까?

분류에서Dev

편집 후 QTableModel의 데이터 편집이 변경되지 않음

분류에서Dev

Sitecore의 어떤 기능이 페이지 편집기 작동에 따라 달라 집니까?

분류에서Dev

Angular : 페이지 편집시 입력 필드 편집 방지

분류에서Dev

파이썬의 데이터 편집기?

분류에서Dev

Codemirror 편집기의 초점 감지

Related 관련 기사

  1. 1

    주어진 Wikipedia 페이지의 모든 편집자 목록 가져 오기

  2. 2

    Wikipedia API 마지막 편집자

  3. 3

    인덱스의 Ajax 편집 페이지

  4. 4

    Wikipedia 페이지의 엔티티 식별

  5. 5

    주문 편집 페이지의 WooCommerce 사용자 정의 필드

  6. 6

    웹 페이지의 HTML을 편집하는 방법

  7. 7

    페이지의 텍스트에 대한 익명 편집 기록

  8. 8

    노드 js의 페이지에서 텍스트 편집

  9. 9

    AngularJS 페이지 편집

  10. 10

    데이터를로드하지 않는 편집 양식 페이지의 jQuery

  11. 11

    나만의 텍스트 편집기로 미디어 위키 페이지 편집하기

  12. 12

    이미지의 텍스트 편집

  13. 13

    이미지의 텍스트 편집

  14. 14

    사이드 바의 편집 내용을 모든 페이지에 표시

  15. 15

    JS의 document.domain이 Sitecore 페이지 편집기를 중단 함

  16. 16

    Django 관리자의 모델 필드를 통해 사이트 페이지 편집

  17. 17

    텍스트로 편집기를 편집하고 완료 단추를 클릭하면 편집기가 iOS xamarin 앱의 전체 페이지를 다룹니다.

  18. 18

    GitHub 페이지에서 바닥 글 편집 jekyll의 기본 최소 테마

  19. 19

    Django의 인덱스 페이지에서 편집 가능한 모델 숨기기

  20. 20

    Chrome에서 웹 페이지의 스타일 편집을 되 돌리는 방법

  21. 21

    편집 페이지의 드롭 다운 목록에 중복 항목

  22. 22

    페이지로드시 Quill 편집기 내의 서식있는 텍스트

  23. 23

    페이지로드시 jsp 편집 페이지의 드롭 다운에 선택한 값 표시 (Spring MVC)

  24. 24

    여러 페이지 편집기의 페이지를 새로 고치는 방법은 무엇입니까?

  25. 25

    편집 후 QTableModel의 데이터 편집이 변경되지 않음

  26. 26

    Sitecore의 어떤 기능이 페이지 편집기 작동에 따라 달라 집니까?

  27. 27

    Angular : 페이지 편집시 입력 필드 편집 방지

  28. 28

    파이썬의 데이터 편집기?

  29. 29

    Codemirror 편집기의 초점 감지

뜨겁다태그

보관