2014-10-03 1 views
0

Я здесь новый. Это тот же вопрос, как этот, но я не получил ответа, так я его снова: how to create a ticket in rt using python-rtkitСоздать билет в RT с python-rtkit с RESOURCE_STATUS: 401 Требуемые реквизиты

Я попытался как 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, чтобы получить один содержание билета, как показано ниже, используя куки, и он хорошо работает:

  1. вручную сохранить значение куки в файле coookie.txt:

    RT_SID_kk.net.80=5a1c1eb207c4e2ef5af726e98d751a08 
    
  2. выполните эту команду:

    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, которое показывает использование файла cookie для аутентификации.

Но я до сих пор не могу пройти CookieAuthentication rtkit в моем скрипте python.

Я боролся с этой проблемой в течение 2 дней, я был бы глубоко признателен, если кто-то может мне помочь. Спасибо.

+0

Возможный дубликат [как создать билет в rt с использованием python-rtkit] (http://stackoverflow.com/questions/17890098/how-to-create-a-ticket-in-rt-using -python-rtkit) – ElGavilan

ответ

0

Я не нашел решение этой проблемы, но мне удалось использовать библиотеку запросов python для создания билета в RT.

  1. install Запросы lib. http://docs.python-requests.org/en/latest/user/install/#install
  2. создать новый билет в РТЕ

    #!/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. 

Надеется, что это может помочь вам, если у вас есть такая же проблема, как у меня. :-)

Смежные вопросы