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

У меня есть скрипт Python, который очищает страницу и получает файл cookie. Я хочу добавить еще один файл cookie к существующим файлам cookie, которые отправляются на сервер. Чтобы при следующем запросе у меня были куки с исходной страницы плюс те, которые я установил вручную.

В любом случае делать это? Я пробовал добавить заголовки в механизацию, но это было проигнорировано.


person Joe Schmoe    schedule 29.08.2010    source источник


Ответы (1)


Используйте метод set_cookie:

>>> import mechanize
>>> br=mechanize.Browser()

>>> br.set_cookie?

Definition: br.set_cookie(self, cookie_string)
Docstring:
    Request to set a cookie.

    Note that it is NOT necessary to call this method under ordinary
    circumstances: cookie handling is normally entirely automatic.  The
    intended use case is rather to simulate the setting of a cookie by
    client script in a web page (e.g. JavaScript).  In that case, use of
    this method is necessary because mechanize currently does not support
    JavaScript, VBScript, etc.

    The cookie is added in the same way as if it had arrived with the
    current response, as a result of the current request.  This means that,
    for example, if it is not appropriate to set the cookie based on the
    current request, no cookie will be set.

    The cookie will be returned automatically with subsequent responses
    made by the Browser instance whenever that's appropriate.

    cookie_string should be a valid value of the Set-Cookie header.

    For example:

    browser.set_cookie(
        "sid=abcdef; expires=Wednesday, 09-Nov-06 23:12:40 GMT")

    Currently, this method does not allow for adding RFC 2986 cookies.
    This limitation will be lifted if anybody requests it.
person unutbu    schedule 29.08.2010