Создайте заявку в RT с помощью python-rtkit с RESOURCE_STATUS: требуется 401 учетных данных
Я здесь новенький. Это тот же вопрос, что и этот, но я не получил ответа, поэтому я снова отправляю его: как создать тикет в rt, используя python-rtkit
Я пробовал оба CookieAuthenticator
а также BasicAuthenticator
создать или прочитать билет, но я все еще получаю ту же ошибку:
`RT/3.8.13 401 Credentials required`
Когда я загружаю URL-адрес непосредственно в браузере: http://ticket.corp.kk.net/REST/1.0/ticket/214560?user=user&pass=pass, я действительно получаю содержимое тикета в браузере.
Я даже попробовал wget
Команда, чтобы получить один билет, как показано ниже, используя cookie, и он работает хорошо:
сохранить вручную значение cookie в
coookie.txt
файл:RT_SID_kk.net.80=5a1c1eb207c4e2ef5af726e98d751a08
запустите эту команду:
wget -O ticketContent.txt --keep-session-cookies --save-cookies cookies.txt 'http://ticket.corp.kk.net/REST/1.0/ticket/220680/show?format=l&user=user&pass=pass'
Контент билета хорошо зарегистрирован в ticketContent.txt
, который показывает использование куки для аутентификации работает.
Но я до сих пор не могу пройти CookieAuthentication
из rtkit в моем скрипте Python.
Я боролся с этой проблемой в течение 2 дней, я был бы очень признателен, если бы кто-нибудь смог мне помочь. Спасибо.
1 ответ
Я не нашел решения этой проблемы, но мне удалось использовать библиотеку Python Requests для создания заявки в RT .
- устанавливает запросы lib. http://docs.python-requests.org/en/latest/user/install/
создать новый тикет в RT
#!/usr/bin/python -u import requests,logging logging.basicConfig(level=logging.DEBUG) post_data = """ id: ticket/new Queue: myqueue Subject: Test Ticket creation in RT with Python Text: Wow ticket is created :-D . """ payload = {'user': 'user', 'pass': 'password','content':post_data} ticket_creation_reusult = requests.post("http://ticket.corp.kk.net/rt3/REST/1.0/ticket/new", payload) logging.debug(ticket_creation_reusult.text)
Выход:
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): ticket.corp.kk.net
DEBUG:requests.packages.urllib3.connectionpool:"POST /rt3/REST/1.0/ticket/new HTTP/1.1" 200 None
DEBUG:root:RT/3.8.13 200 Ok
# Ticket 221173 created.
Надеюсь, что это поможет вам, если у вас есть такая же проблема, как у меня.:-)