Я пытаюсь получить содержимое определенного пространства в месте слияния. Для этого мне необходимо войти по другой ссылке.
#!/usr/bin/python
import pycurl, json
from io import BytesIO
import fileinput, os, re
from urllib import urlencode
URL = "..../wiki/rest/api/content/...."
LOGIN_URL = ".../login"
data = BytesIO()
c = pycurl.Curl()
c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json' ])
c.setopt(pycurl.USERPWD, "username:password")
c.setopt(pycurl.COOKIEJAR, '/tmp/cookie.txt')
c.setopt(pycurl.VERBOSE, True)
c.setopt(pycurl.WRITEFUNCTION, data.write)
c.setopt(pycurl.URL, LOGIN_URL)
c.perform()
c.setopt(pycurl.URL, URL)
c.setopt(pycurl.COOKIEFILE, '/tmp/cookie.txt')
c.setopt(pycurl.CUSTOMREQUEST, "GET")
c.setopt(pycurl.WRITEFUNCTION, data.write)
c.perform()
print data.getvalue()
Но я получаю следующую ошибку
{"statusCode":403,"data":{"authorized":false,"valid":true,"errors":[],"successful":false},"message":"Not permitted to use confluence : null"}
Когда я вставляю URL без входа в систему, я получаю ту же ошибку в Firefox. После входа в систему при вставке URL-адреса проблем не возникает, и я могу получить страницу.
Я могу успешно сохранить файл cookie.
Что я должен добавить, чтобы заставить это работать?