Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 17, 2016 04:42:01

vak
От:
Зарегистрирован: 2007-05-04
Сообщения: 262
Репутация: +  0  -
Профиль   Отправить e-mail  

urllib2 authorization

Упорно не получается авторизоваться.
В ответ приходит форма для ввода логинва и пароля.
И вроде по документации все правильно. Разные варианты перепробовал, ниже один из них. Проверял на разных сайтах. Авторизация не проходит. Подскажите плиз, что не так, в чем ошибка?

         
        auth_handler = urllib2.HTTPBasicAuthHandler()
        auth_handler.add_password(realm=None, uri='http://10.6.0.22:8080/', user='---', passwd='----')
        opener = urllib2.build_opener(auth_handler)
        urllib2.install_opener(opener)
        print urllib2.urlopen('http://10.6.0.22:8080/monitor/events/page/1/').read()

Причем, проверяю возможность запроса через curl , - работает.



Отредактировано vak (Ноя. 18, 2016 03:14:22)

Офлайн

#2 Дек. 15, 2016 03:32:22

vak
От:
Зарегистрирован: 2007-05-04
Сообщения: 262
Репутация: +  0  -
Профиль   Отправить e-mail  

urllib2 authorization

Опять уткнулся в ту-же проблему с авторизацией в urllib2 в друрой задаче:

 import ssl
from pysimplesoap.client import SoapClient
ssl._create_default_https_context = ssl._create_unverified_context
client = SoapClient(wsdl="http://127.0.0.1:5000/service.htms.xml",trace=True)
client['AuthHeaderElement'] = {'username': '---', 'password': '---'
response = client.onyma_api_audit_dog_list()
result = response
print result

Данные не получаю. Видимо из-за авторизации.

 DEBUG:pysimplesoap.client:content-length: 434
x-powered-by: PHP/5.6.22
set-cookie: PHPSESSID=5288c5918a42b6814d3ea630acf2115d; path=/
expires: Thu, 19 Nov 1981 08:52:00 GMT
vary: Accept-Encoding
server: Apache/2.4.20 (Unix) PHP/5.6.22 OpenSSL/1.0.2h mod_wsgi/3.5 Python/2.7.11
connection: close
pragma: no-cache
cache-control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
date: Thu, 15 Dec 2016 01:30:56 GMT
content-type: text/xml;charset=UTF-8
DEBUG:pysimplesoap.client:<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><soapenv:Fault><faultcode>Client</faultcode><faultstring>Session doesn't exist</faultstring><detail><exceptionName>ru.onyma.www.services.OnymaApi.types.T_exception</exceptionName><code>0</code></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>
Traceback (most recent call last):
  File "./soap.py", line 11, in <module>
    response = client.onyma_api_audit_dog_list()
  File "/home/vak/.virtualenvs/iss/local/lib/python2.7/site-packages/pysimplesoap/client.py", line 181, in <lambda>
    return lambda *args, **kwargs: self.wsdl_call(attr, *args, **kwargs)
  File "/home/vak/.virtualenvs/iss/local/lib/python2.7/site-packages/pysimplesoap/client.py", line 346, in wsdl_call
    return self.wsdl_call_with_args(method, args, kwargs)
  File "/home/vak/.virtualenvs/iss/local/lib/python2.7/site-packages/pysimplesoap/client.py", line 370, in wsdl_call_with_args
    response = self.call(method, *params)
  File "/home/vak/.virtualenvs/iss/local/lib/python2.7/site-packages/pysimplesoap/client.py", line 269, in call
    fault = operation['faults'][detailXml.children()[0].get_name()]
KeyError: u'exceptionName'

Может кто знает, в чем дело?



Офлайн

#3 Дек. 15, 2016 15:42:29

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2580
Репутация: +  58  -
Профиль   Отправить e-mail  

urllib2 authorization

Прежде всего недостаточно информации!
Ибо механизмов аутентификации огромное множество! Универсального метода нет!
Прежде всего вам нужно определиться с механизмом - после чего выбрать нужный инструмент!



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#4 Дек. 16, 2016 08:10:19

vak
От:
Зарегистрирован: 2007-05-04
Сообщения: 262
Репутация: +  0  -
Профиль   Отправить e-mail  

urllib2 authorization

ZerG
Прежде всего недостаточно информации!Ибо механизмов аутентификации огромное множество! Универсального метода нет!Прежде всего вам нужно определиться с механизмом - после чего выбрать нужный инструмент!
Ваша правда. Согласен. Но выяснить какая именно разновидность аутентификации пока не представлется возможным.

Вот удалось методом проб и слухов получить ключ сессии.

 import ssl
import base64
from pysimplesoap.client import SoapClient
ssl._create_default_https_context = ssl._create_unverified_context
client = SoapClient(wsdl="http://127.0.0.1:5000/service.htms.xml",trace=True)
auth = client.onyma_api_open_session(username='---',password='---')

Как ключ сессии подсунуть в следующие запросы SOAP пока не знаю…
Может у кого есть рецепт?



Отредактировано vak (Дек. 16, 2016 08:45:49)

Офлайн

#5 Дек. 16, 2016 10:09:19

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2580
Репутация: +  58  -
Профиль   Отправить e-mail  

urllib2 authorization

Но выяснить какая именно разновидность аутентификации пока не представлется возможным.

Это вам так только кажеться
Открываете свой сайт в отладчике браузера (Девелеопер тулс)
И смотрите досконально что там на нафторизацию завязанно куда ссылается и так далее!
Может там аяксовый скрит или дж или обычный пгп!
Авторизируетесь смотрите консоль логов…

В целом - вы бы конечно могли скинуть сюда ссылку на нужный ресурс - но если вам подскажут то завтра же вы упретесь в данную проблему с другим сайтом и опять будете писать подобную тему…
Правильно все же разобраться



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#6 Дек. 16, 2016 10:42:18

vak
От:
Зарегистрирован: 2007-05-04
Сообщения: 262
Репутация: +  0  -
Профиль   Отправить e-mail  

urllib2 authorization

ZerG
Но выяснить какая именно разновидность аутентификации пока не представлется возможным.Это вам так только кажеться Открываете свой сайт в отладчике браузера (Девелеопер тулс)И смотрите досконально что там на нафторизацию завязанно куда ссылается и так далее! Может там аяксовый скрит или дж или обычный пгп! Авторизируетесь смотрите консоль логов… В целом - вы бы конечно могли скинуть сюда ссылку на нужный ресурс - но если вам подскажут то завтра же вы упретесь в данную проблему с другим сайтом и опять будете писать подобную тему… Правильно все же разобраться

Да, так и делаю. Смотрю в отладчике.
Ссылочка не поможет, - ресурсы карпаративные.



Отредактировано vak (Дек. 16, 2016 10:43:03)

Офлайн

#7 Дек. 16, 2016 11:21:19

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2580
Репутация: +  58  -
Профиль   Отправить e-mail  

urllib2 authorization

Ну мы врятле чем либо поможем не зная что у вас там …



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version