Объект request.session () не распознается в другом классе

Я знаю только два способа сделать это: sudo apt-get install -f, а другой - загрузить все вручную через браузер и поместить пакеты внутри /var/cache/apt/archives (папка, в которой загружены пакеты), и снова вызвать установку.

Вы можете проверить целостность пакетов только в случае, если коррупция является причиной того, что зависимость не была решена. Мой Кунг-фу не глубже, чем это. Вы также можете попробовать очистить, затем auroremove и снова установить установку на нужное программное обеспечение.

0
задан 13 August 2018 в 15:19

1 ответ

Что такое 401?

Ответ, который вы получаете, означает, что вы не авторизованы для доступа к ресурсу.

Сеанс используется в чтобы сохранить заголовки и другие предпосылки во всех запросах, почему вы создаете сессию каждый раз, а не сохраняете ее в переменной?

Как есть, сеанс должен работать, единственная проблема заключается в том, что вы пытаетесь вызовите ресурс, к которому у вас нет доступа. - Вы не передаете параметр url либо в инициализации.

Пример того, как вы можете эффективно использовать Session:

из запросов import Session from requests.exceptions import HTTPError

class TestGet:
    __session = None

    __username = None
    __password = None

    def __init__(self, username, password):
        self.__username = username
        self.__password = password

    @property
    def session(self):
        if self.__session is None:
            self.__session = Session()
            self.__session.auth = (self.__user, self.__pwd)

        return self.__session

    @session.setter
    def session(self, value):
        raise AttributeError('Setting \'session\' attribute is prohibited.')

    def get_response(self, url):
        try:
            response = self.session.get(url)

            # raises if the status code is an error - 4xx, 5xx
            response.raise_for_status()

            return response
        except HTTPError as e:
            # you received an http error .. handle it here (e contains the request and response)
            pass

test_get = TestGet('my_user', 'my_pass')
first_response = test_get.get_response('http://your-website-with-basic-auth.com')
second_response = test_get.get_response('http://another-url.com')

my_session = test_get.session
my_session.get('http://url.com')
0
ответ дан 15 August 2018 в 17:01

Другие вопросы по тегам:

Похожие вопросы: