Как засолить CookieJar?

В Swift 4.1 и Xcode 9.4.1

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
     if UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiom.pad {
        return 75.0
      } else {
        return 50.0
      }
}
9
задан Unknown 21 June 2009 в 04:46
поделиться

2 ответа

Вот попытка наследования класса из CookieJar, который переопределяет getstate / setstate, используемый pickle. Я не использовал cookieJar, поэтому не знаю, можно ли его использовать, но вы можете сделать дамп производного класса

from cPickle import dumps
from cookielib import CookieJar
import threading

class MyCookieJar(CookieJar):
    def __getstate__(self):
        state = self.__dict__.copy()
        del state['_cookies_lock']
        return state

    def __setstate__(self, state):
        self.__dict__ = state
        self._cookies_lock = threading.RLock()

class Person(object):
    def __init__(self, name):
        self.name = name
        self.cookies = MyCookieJar()

bob = Person("bob")
print dumps(bob)
9
ответ дан 4 December 2019 в 13:04
поделиться

CookieJar не особенно хорошо спроектирован для сохранения (именно для этого в основном предназначены подклассы FileCookieJar ! -), но вы можете перебирать экземпляр CookieJar , чтобы получить все файлы cookie (и, например, сохранить их список), и, чтобы перестроить банку с учетом файлов cookie, используйте set_cookie на каждом . Вот как я бы занялся сохранением и непостоянством jar-файлов cookie, используя метод copy_reg для регистрации соответствующих функций, если мне нужно было часто их использовать.

7
ответ дан 4 December 2019 в 13:04
поделиться
Другие вопросы по тегам:

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